Apparatus and methods are provided for an improved on-the-fly rounding
technique for digit-recurrence algorithms, such as division and square
root calculations. According to one embodiment, only two forms of an
intermediate result of an operation to be performed by a digit-recurrence
algorithm are maintained. A first form is maintained in a first register
and a second form is maintained in a second register. Responsive to
receiving digits 1 to L-2 of the intermediate result from a digit
recurrence unit, where L represents a number of digits that satisfies a
predetermined precision for the operation, both forms of the intermediate
result are updated by register swapping or concatenation under the control
of load and shift control logic and on-the-fly conversion logic. Then, a
rounded result is generated by determining digits d.sub.L-1 and d.sub.L
and appending a rounded last digit to the appropriate form of the
intermediate result.
Des matériel et les méthodes sont donnés pour une technique en marche d'arrondissage améliorée pour des algorithmes de chiffre-répétition, tels que la division et les calculs de racine carrée. Selon une incorporation, seulement deux formes d'un résultat intermédiaire d'une opération à exécuter par un algorithme de chiffre-répétition sont maintenues. Une première forme est maintenue dans un premier registre et une deuxième forme est maintenue dans un deuxième registre. Sensible à recevoir les chiffres 1 à L-2 du résultat intermédiaire à partir d'une unité de répétition de chiffre, où L représente un certain nombre de chiffres qui satisfait une précision prédéterminée pour l'opération, les deux formes du résultat intermédiaire sont mises à jour par la permutation ou la concaténation de registre sous la commande de la charge et décalent la logique de commande et la logique en marche de conversion. Puis, un résultat arrondi est produit en déterminant les chiffres d.sub.L-1 et d.sub.L et en apposant un dernier chiffre arrondi à la forme appropriée du résultat intermédiaire.