división SRT vs división no restaurada

1

Suponiendo que la base b=2 , ¿existe una ventaja particular en términos de rendimiento al comparar la división SRT con la división no restaurada?

En la división Sin restauración, para cada iteración, los dígitos de salida pertenecen al conjunto {-1,1}, lo que implica que siempre se realiza una suma o una resta.

En SRT para cada iteración, los dígitos de salida pertenecen al conjunto {-1,0,1}, donde el 0 tiene el significado de no realizar la operación cuando el recordatorio parcial es particularmente pequeño,

¿La única ventaja es el hecho de que permite eludir alguna resta de suma? ¿Acaso esto hace que toda la división sea más rápida? También supongo que se puede sacar el máximo provecho si uno diseña dicho divisor de manera asíncrona, ¿me equivoco?

    
pregunta user8469759

2 respuestas

1

La magia de la división SRT es poder iterar sin tener que realizar propagación de acarreo sobre todos los bits del dividendo (y el resto parcial). Eso significa que puede alcanzar frecuencias más altas, que un divisor de precisión simple y doble puede usar el mismo reloj, o que puede conectar en cascada varios divisores SRT o usar radices más altos para calcular más de 1 bit por ciclo ...

En la no restauración, para decidir si necesita sumar o restar, debe completar la suma o resta anterior y determinar con precisión si el resultado es positivo o negativo. En SRT, solo necesita verificar algunos MSB (IIRC, alrededor de 2 para SRT radix 2, alrededor de 7-10 del resto y divisor para radix 4, combinando división y raíz cuadrada también es posible con una complejidad adicional moderada): El SRT el algoritmo solo necesita un resultado aproximado para decidir si se espera una suma, una resta o nada.

La adición y la resta para SRT se debe hacer usando los agregadores "carry-save" (o borrado-save, etc.) que no realizan la propagación de carry. Llevar la propagación y la conversión al formato de complemento a dos es realmente necesario solo para los pocos bits necesarios para la decisión SRT: + 1/0 / -1 para radix-2 o + 2 / + 1/0 / -1 / -2 para radix 4 , etc.

El resultado también se calcula sin propagación de acarreo manteniendo dos valores R = resultado y RM = R-1, agregando un bit a la derecha para cada ciclo:

  • SRT = 0: R '= R & '0', RM '= RM & '1'
  • SRT = +1: R '= R & '1', RM '= R & '0'
  • SRT = -1: R '= R' & '1', RM '= R' & '0'
respondido por el TEMLIB
-1

El algoritmo de no restauración simplemente realiza la suma o la resta en consecuencia. Mientras que al restaurar el algoritmo, la resta se realiza y verifica si el resultado es negativo o no, y luego la adición se realiza si el resultado es negativo. Por lo tanto, podemos decir que, por cada turno izquierdo, el algoritmo de restauración verifica el resultado y funciona de manera apropiada, mientras que en el algoritmo no restaurado, el turno izquierdo se realiza y luego se suman o restan en el siguiente paso para que nuestro objetivo sea el turno izquierdo obtenemos una respuesta rápida en la no restauración algoritmo

    
respondido por el Himani

Lea otras preguntas en las etiquetas