![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Деление двоичных чисел с фиксированной запятой без восстановления остатка.
Деление с восстановлением остатка является аритмичным процессом с переменным числом шагов внутри циклов в зависимости от того, произошла или нет инверсия знака сумматора при очередном подсуммировании делителя. С этим связаны дополнительные затраты времени на выполнение операции. Операцию можно видоизменить таким образом, чтобы в каждом такте выполнялось два шага. Рассмотрим случай, когда очередной остаток (при делении модулей операндов) отрицательный, Ri< 0. В предыдущем алгоритме в этом случае выполнялись следующие операции. · Восстановление остатка: · Сдвиг восстановленного остатка влево: · Вычитание модуля делителя из восстановленного и сдвинутого влево остатка для определения следующего остатка: Ri+1=4Ri-1 - |B|. Если не восстанавливать остаток, а сразу сдвинуть отрицательный остаток влево на один разряд, то получим Результат в этом случае отличается от действительного на величину +|B|. Поэтому в качестве второго шага необходимо произвести коррекцию результата на эту величину: Ri+1=4Ri-1 - 2´ |B|+|B|=4Ri-1 - |B|. В результате получаем требуемую величину последующего остатка Ri+1 за два шага. Таким образом, чтобы определить следующую цифру частного, необходимо сдвинуть текущий остаток влево на один разряд, а затем алгебраически прибавить к нему модуль делителя. Заметим, что при делении на сумматоре всегда складываются числа с противоположными знаками, т.е. всегда производится вычитание. Сдвиги и вычитания производятся до тех пор, пока не будет получено требуемое число разрядов частного. В схеме операционного автомата для контроля числа полученных разрядов частного используется счетчик, в который в начале выполнения операции деления записывается число, на 1 большее числа определяемых разрядов частного. Это делается для того, чтобы так называемое пробное деление выполнялось в общем цикле. При этом старший разряд частного – псевдознаковый разряд. Он не несет информацию о знаке частного, а является критерием переполнения разрядной сетки частного. Так как мантиссы делимого и делителя являются нормализованными, т.е.
В последнем случае в псевдознаковом разряде частного оказывается 1, которая и означает переполнение разрядной сетки. Пусть С=А/В, А=-0, 10101, В=0, 11010. Дополнительные модифицированные коды делимого и делителя равны соответственно:
Таблица 15 Деление двоичных чисел с фиксированной запятой без восстановления остатка со сдвигом текущего остатка
Результат деления получается одинаковым, если сдвигать остатки от деления влево или сдвигать делитель вправо. В первом случае при делении необходимо использовать модифицированные коды, так как при сдвиге текущего остатка влево может возникнуть переполнение разрядной сетки сумматора, которое исчезнет при следующем подсуммировании делителя. Во втором случае использовать модифицированные коды не надо, так как переполнение разрядной сетки возникнуть в принципе не может, поскольку в сложении всегда участвуют числа с разными знаками. Рассмотрим пример деления двоичных чисел с фиксированной запятой без восстановления остатка со сдвигом делителя вправо. Пусть С=А/В, А=-0, 10101, В=0, 11010. Дополнительные модифицированные коды делимого и делителя равны соответственно:
Таблица 16 Деление двоичных чисел с фиксированной запятой со сдвигом делителя без восстановления текущего остатка
Для реализации рассмотренной схемы деления понадобятся два регистра и сумматор с двойной точностью. Все остальные структурные элементы операционного автомата те же, что и при делении со сдвигом текущего остатка. Деление всегда выполняется на сумматоре инверсного кода (дополнительного или обратного). Операционный автомат, выполняющий деление двоичных чисел с плавающей запятой, является составной частью процессора, который решает также задачи умножения и сложения. Выбор схемы деления зависит от способа реализации умножения с плавающей запятой. Так как быстродействие процессора зависит от наличия необходимого количества регистров в сверхбыстрой регистровой памяти процессора, целесообразно выбирать обе схемы таким образом, чтобы для них использовались одни и те же регистры с соответствующими направлениями сдвигов. |
Последнее изменение этой страницы: 2019-03-29; Просмотров: 385; Нарушение авторского права страницы