Идея алгоритма без восстановления остатка:
если на очередном шаге результат вычитания меньше 0, то вместо восстановления остатка на этом шаге переходят к следующему, но на следующем шаге делитель не вычитают, а прибавляют; далее опять контроль знака результата.
На каждом шаге достаточно выполнить две операции: вычитание (или сложение) и сдвиг.
Теперь рассмотрим структурную схему при следующих условиях:
1) при делении в основном алгоритме используются модули чисел;
2) знак частного формируется отдельно по известному со школы принципу;
3) в алгоритме предусматривается пробное деление;
4) применяется алгоритм без восстановления остатка.
А тогда удобнее будет, если участвующие в операции числа будут в дополнительном (в крайнем случае – в обратном) коде; частичные остатки сдвигаются влево; очередная цифра частного получается как инвертированное значение знакового разряда частичного остатка.
Рис. 2.2.6.1.
Рис. 2.2.6.2.
Обратите внимание, что результат деления в конце концов оказывается в SM (там он и округляется).
Деление оказывается наиболее длинной операцией
– это не максимум, а всегда.
Существуют способы ускорения деления. В частности, используются аппаратные способы, аналогичные соответствующим способам в умножении. Но есть важный момент, снижающий их роль: доля делений в алгоритмах не более 1-2%. Следовательно, большие аппаратные затраты не имеют смысла.
<99>
2.2.7. Организация АЛУ при реализации логических операций и операций специальной арифметики.
<100>
Возможно, следует напомнить структуру записи числа в нормальной форме:
,
где – мантисса (остальное в формуле – характеристика); – порядок; d – основание.
Обычно d=2, но может быть и 8, и 16 (было в ЕС ЭВМ, ныне изредка встречается).
В любом случае величина d в разрядной сетке не указывается (а подразумевается!), а и представляются двоичным кодом.
Рис. 2.3.0.1.
; .
Число должно быть нормализовано, т.е. при d=2: ; а при d=8: .
<101>
2.3.1. Принцип построения и работы АЛУ при суммировании и вычитании чисел в нормальной форме.
Коротко об алгоритме в целом. В нем выделяются 4 этапа:
1) Выравнивание порядков чисел (порядок меньшего числа увеличивается до порядка большего при одновременном сдвиге в разрядах меньшего вправо на число разрядов, равное разности порядков).
2) Собственно сложение (вычитание) мантисс с фиксированной запятой.
3) Проверка переполнения и присвоение порядка.
4) Нормализация.
(Третий и четвёртый этапы можно переставить).
Наиболее сложной (длиной, «медленной») процедурой является выравнивание порядков.
В результате сравнения порядков возможны 5 исходов:
1) , т.е. выравнивать не нужно и можно выполнять другие этапы;
2) ; тогда за результат принимается число а;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.