Los algoritmos de división en diseños digitales se pueden dividir en dos categorías principales. División lenta y división rápida.
Te sugiero que leas cómo funciona la suma y resta binarias si aún no estás familiarizado con estos conceptos.
División lenta
- ¿Una placa base más pequeña tiene una latencia más baja que una placa base más grande?
- ¿Cuánto dura una computadora portátil promedio?
- ¿Qué computadora sería la mejor para mí?
- ¿Cuáles son los 3 componentes principales de una CPU?
- ¿Dónde puedo ir para aprender cómo construir y mantener mi propia PC para juegos? Quiero poder hacer esto por mi cuenta.
Los métodos lentos más simples funcionan básicamente de la siguiente manera. Tome el número que se dividirá (numerador o dividendo) y reste el divisor. Haga esto recursivamente con el resultado de cada resta hasta que el resto sea menor que el divisor. Esta cantidad restante es el resto. La cantidad de iteraciones es el cociente.
Ejemplo:
7/3:
- 7−3 = 4
2. 4−3 = 1
3.1 <3
Por lo tanto, la respuesta es 2 resto 1. Para que esta respuesta sea un poco más relevante, aquí hay algunos antecedentes. La resta binaria se realiza mediante la adición de lo negativo, por ejemplo: 7 – 3 = 7 + (-3). Esto se logra mediante el uso de dos números binarios complementarios. Cada número binario se agrega mediante una serie de sumadores completos:
Donde cada sumador completo de 1 bit se implementa de la siguiente manera:
División rápida
Si bien la división lenta es fácil de entender, requiere iteraciones repetitivas. Existen varios algoritmos “rápidos” pero todos se basan en la estimación.
Considere el método Goldschmidt:
Haré uso de lo siguiente:
Q = ND
Este método funciona de la siguiente manera:
- Multiplicar N y D con una fracción F es tal que D se acercó a 1.
- Cuando D se acerca a 1, N se acerca a Q
Este método utiliza la multiplicación binaria que se realiza mediante la suma iterativa. También se usa en las CPU modernas de AMD.