Блок деления с неподвижным остатком и сдвигом делителя вправо

Блок деления (БД) со сдвигом влево остатка при неподвижном делителе

 

Микроалгоритм деления чисел по первому методу имеет вид:

,

где – знаковый разряд RGX.

Схема БД, реализующего этот микроалгоритм, показана на рис. 8.1.

&

 
 

 

 


Рис. 8.1. Схема блока деления, построенного по первому варианту

 

Для формирования сигнала END используется счетчик с периодом n + 1. С этой целью можно использовать и RGZ, если удлинить его на один разряд и записать слово 00…01 с маркерной единицей в конце. После n + 1 сдвигов маркерная единица попадает в дополнительный разряд, выход которого управляет формированием сигнала END (на рис. 8.1 показан пунктиром). В табл. 8.1 представлена цифровая диаграмма работы БД при , , .

Таблица 8.1

RGZ Микрооперация RGX RGY
00,00000     – Y 00,01111 11,010000 11,10111 Y = 0,11000 – Y = 1,01000
00,00000 < Y 11,01110 00,110000 00,00110  
00,00001 < – Y 00,01100 11,010000 11,10100  
00,00010 < Y 11,01000 00,110000 00,00000  
00,00101 < – Y 00,00000 11,010000 11,01000  
00,01010 < Y 10,10000 00,110000 11,01000    
00,10100 < END 10,10000  

 

Из табл. 8.1 видно, что после четвертого вычитания в регистре RGX образовался нуль и далее все последующие цифры частного равны нулю. Это значит, что в дальнейшем необходимо производить только сдвиги, а операции вычитания можно опустить.

 

 

Отличие блока деления, построенного по второму методу (рис. 8.2), от рассмотренного выше, состоит в том, что все регистры должны быть с внутренней задержкой. Кроме того, регистры RGX, RGY и сумматор должны иметь удвоенное число разрядов. При этом сдвиг осуществляется только в RGY и RGZ. Так как результат вычитания (остаток) неподвижен, то операцию вычитания можно совместить со сдвигом. Аппаратурные затраты на построение такого БД можно значительно сократить, если длину RGX, RGY и SM сократить до n + l разрядов. Величина l определяется из условия , поскольку именно такое количество разрядов необходимо для того, чтобы погрешность от отбрасывания младших разрядов остатка и делителя не превысила половины веса младшего разряда результата. При получаем l = 6.

 
 

 


Рис. 8.2. Схема блока деления, построенного по второму варианту

 

В БД с фиксированной запятой должна быть предусмотрена возможность фиксации переполнения разрядной сетки. Это осуществляется путем формирования сигнала совпадения с сигналом первого такта деления, который можно получить, дешифрируя нулевое состояние CT или состояние 00…01 регистра RGZ.