FR 2660086 A1 19910927 FR 9003605 A 19900321 PROCEDE POUR CALCULER L'INVERSE D'UN NOMBRE ET CALCULATEUR POUR LA MISE EN OEUVRE DUDIT PROCEDE. La présente invention concerne un procédé utilisable dans les calculateurs numériques pour calculer l'inverse d'un nombre. Le calcul de l'inverse d'un nombre trouve une application intéressante dans l'opération division notamment en virgule flottante En particulier le résultat de la division de deux nombres est obtenu par simple multiplication du dividende par l'inverse du diviseur. Habituellement, la division ou le calcul de l'inverse I d'un nombre D est obtenu à partir de méthodes répertoriées en deux groupes principaux: les méthodes par soustractions et décalages successifs, les méthodes itératives, en général basées sur l'algorithme de Newton, selon l'équation récurrente: In+ 1 = In x ( 2-(D x In)), In convergeant vers I. En pratique les méthodes par soustractions et décalages ne permettent d'obtenir à chaque étape que un ou deux bits significatifs additionnels Elles nécessitent donc des circuits opérateurs volumineux, en général lents et peu intégrables. Les méthodes itératives sont en général préférées pour les calculateurs scientifiques pour lesquels la performance de l'opération de division est primordiale La méthode de Newton appliquée à des nombres normalisés permet de doubler la précision du résultat à chaque itération. Toutefois, chaque opération nécessite deux multiplications réalisées en séquence et, par là même, non parallélisables Par ailleurs, afin de réduire le nombre d'itérations, on utilise généralement des tables d'inverse pour obtenir la valeur de départ de l'itération Dans ce cas, la précision de la valeur de départ est limitée par la taille physique de la table d'inverse, celle-ci nécessitant 2 n-1 entrées si l'incrément i de la table est choisi égal à 2-n, pour une précision de l'ordre de 2-2 n soit 2 N bits significatifs. La présente invention propose une nouvelle méthode de calcul d'inverse qui permet d'éliminer les inconvénients présentés ci-dessus ou d'en atténuer les effets, et qui favorise l'intégration des opérateurs en réduisant le nombre et la taille des circuits. Plus particulièrement, l'invention propose un procédé pour calculer l'inverse I d'un nombre D, caractérisé en ce qu'il comporte les opérations suivantes: a) Le cas échéant, mise sous forme binaire et normalisation du nombre D, b) Recherche, dans une table d'inverse Tl, à partir des n premiers bits de poids fort de D correspondants à une valeur d'entrée Xj = 1/2 + (j x 2-n) avec j entier de O à 2 n-1-1, d'une première approximation Io de l'inverse du nombre D, c) Recherche, dans une table d'écart T 2, du gradient d'écart d'inverse Go = Io/i dans l'intervalle ij= (Xj), ((Xj)+i)l encadrant la valeur D, avec i = 2 n d) Détermination, par approximation linéaire, d'une deuxième valeur Il par mise en oeuvre de l'algorithme: Il = Io + (d x Go) o d = D Xj et Go est rentré en valeur algébrique, e) Recherche, dans une table de correction T 3, à partir de d d'une valeur de correction de base CB 1 préétablie, signée ou non, représentative de l'écart E = I Il dans l'intervalle i B= l(Xjb), ((Xjb)+i)l, f) Recherche dans une table d'échelle T 4 d'un facteur d'échelle Hj à partir de Xj, g) Détermination d'une valeur de correction Cjl = CB 1 x Hj, h) Détermination d'une troisième approximation I 2 = Il + Cjl. Ainsi donc, le principe de l'invention est basé sur l'application d'une correction complémentaire à une approximation Il obtenue par approximation linéaire à partir d'une première valeur Io elle-même obtenue à partir d'une table d'inverse La valeur de la correction est obtenue à partir de données préétablies mémorisées dans des tables de dimensions réduites Il est ainsi possible, dans un premier temps, sans avoir recours à la méthode itérative de Newton, d'obtenir des inverses de précision appréciable ( 28 bits) à partir de tables de tailles facilement intégrables. Selon une première variante du procédé selon l'invention, le procédé comporte de plus l'opération de mise en oeuvre de 1 _ méthode itérative de Newton dans laquelle la kième itération est donnée par l'algorithme: I Nk = (IN(k-1)) x ( 2-(D x (IN(k-l)))) avec I No = I 2. Selon un autre aspect de l'invention, l'entrée de la table de correction T 3 est réalisée à partir des m bits suivants les N bits de poids fort de D et en ce que CB 1 = I((Xjb)+(l x 2-m-n)) Il((Xjb) + ( 1 x 2-m-n)) pour 1 x 2- m-n Cjl. Le procédé selon l'invention est particuliéremen adapté à la réalisation des unités de calcul scientifique en variables flottantes des processeurs d'un calculateur numérique tel qu'un calculateur vectoriel. Aussi l'invention concerne également un calculateur numérique pour la mise en oeuvre du procédé proposé ci- dessus, caractérisé en ce qu'il comporte dans au moins un de ses processeurs: des moyens pour la mise en forme binaire et la normalisation du nombre D, une table d'inverse Tl adressée en fonction des N bits de poids fort du nombre D et de sortie Io, une table de gradient d'écart T 2 adressée en fonction des N bits de poids fort du nombre D et de sortie Go, un circuit multiplieur Mi, de sortie Si et dont l'entrée-multiplicateur reçoit au moins m bits suivant les N bits de poids fort de D et l'entréemultiplicande reçoit Go; une table de correction T 3 adressée en fonction des m bits suivant les N bits de poids fort de D et de sortie C Bl, une table d'échelle T 4 adressée en fonction des N bits de poids fort du nombre D et de sortie Hj, un second circuit multiplieur M 2 dont les entrées reçoivent C Bl et Hj et de sortie Cjl, des moyens d'addition Ai, A 2 à trois entrées recevant Io, Si et Cjl, et de sortie I 2. Avantageusement, une variante du calculateur selon l'invention, est caractérisée en ce que la table T 2, le multiplicateur Mi et les moyens d'addition Ai, A 2 travaillent sur des opérandes signés Il est ainsi possible de gagner encore au moins 1 bit de précision. D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description qui va suivre et qui se réfère aux dessins ci-annexés dans lesquels: la figure 1 est une représentation schématique fonctionnelle du procédé selon l'invention, la figure 2 est une représentation schématique des courbes Y(X) = 1/X, Cj et C Sj dans l'intervalle ( 0,5; 1), la figure 3 est une représentation schématique agrandie des courbes Y(X) et Cj de la figure 1 dans l'intervalle ij= lXj, ((Xj)+i)t, et la figure 4 est une représentation schématique d'un dispositif pour,la mise en oeuvre dans un calculateur numérique du procédé selon l'invention. D'une façon générale, l'invention est applicable au calcul d'inverse de nombres, en format fixe ou flottant, dont la précision est limitée par la dimension du format utilisé par le calculateur Dans le cas d'un nombre en format flottant, l'invention est applicable directement au calcul de l'inverse de la mantisse de ce nombre. Bien entendu, dans le cadre d'une unité de calcul scientifique qui comporte toujours un multiplieur, le calcul des inverses selon l'invention permet d'effectuer les divisions sans modifications supplémentaires. Il est à noter que tous les calculs d'inverse se ramènent au calcul de l'inverse d'un nombre en format fixe ou d'une mantisse (dans le cas d'un format flottant) mis en forme binaire et normalisés en base 2 (le bit de poids fort étant alors égal à 1), et dont la valeur décimale est en conséquence comprise entre 0,5 et 1 En effet, toutes les autres manipulations sont des multiplications ou divisions par une puissance de 2 par l'intermédiaire d'opérations de décalage Ces opérations de mise en forme binaire, de normalisation et de décalage sont classiques et ne seront pas décrites plus en détail par la suite Il en est de même pour les moyens et circuits de mise en oeuvre de ces opérations dans un calculateur numérique Ainsi donc, la première opération à réaliser dans le cadre du procédé selon l'invention, est la mise en forme binaire et la normalisation du nombre concerné si cette opération n'a pas été effectuée préalablement. Dans la présentation qui va suivre, donnée à titre d'exemple non limitatif de l'invention, le nombre D dont on se propose de calculer l'inverse I, sera choisi comme la mantisse d'un nombre flottant mise en forme binaire et normalisée En particulier, les formats flottants utilisés dans les calculateurs scientifiques sont de 32 bits (flottant court) ou de 64 bits (flottant long), avec des mantisses de 24 bits et 56 bits respectivement. La ligure 1 représente le schéma fonctionnel de principe du procédé selon l'invention dans lequel chaque opération est présentée par sa lettre de référence de a) à h) a) Normalisation de D b) Détermination de Io (à partir de a)) c) Détermination de Go (à partir de a)) dl) Calcul de d x Go avec d = D-Xj (à partir de a) et de c)) d 2) Calcul de Il = Io + (d x Go) (à partir de b) et de d 2)) e) Détermination de C Bl (à partir de a)) f) Détermination de Hj (à partir de a)) g) Calcul de Cjl = Hj x C Bl (à partir de e) et f)) h) Calcul de I 2 = Il + Cjl (à partir de d 2) et h)). De plus, selon une variante du procédé de l'invention, I 2 est utilisée comme valeur de départ I No d'une itération selon la méthode de Newton et de résultat IN 1. La description qui va suivre apportera des précisions sur la définition de chaque symbole utilisé et sur le déroulement de chaque opération Toutefois, le chaînage des opérations illustré à la figure 1 montre que l'approximation I 2 peut être obtenue sans itération bouclée et que certaines opérations, par exemple le groupe e), f) et g), peuvent être effectuées en parallèle, par exemple en utilisant une architecture dite "pipe-line", avec les opérations du groupe b), c), dl) et d 2) Cette structure fonctionnelle est en particulier avantageuse du point de vue rapidité du calcul. Soit à calculer I = 1/D avec 0,5 les rendre plus lisibles. Définitions Dans la suite de la description, on utilisera les diverses représentations symboliques suivantes définies ci-après * Xj La valeur d'entrée Xj dans la table Tl est donnée par l'expression Xj = 0,5 + (j x 2-n) avec j entier de O à 2 n-1-1 La valeur de Xj est choisie immédiatement inférieure à D avec Xj Xj correspond donc aux N premiers bits de poids fort de D. En fait seuls les n-1 bits de rang 2 à N après la virgule (le bit de rang 1 étant toujours égal à 1 après normalisation) sont utilisés pour adresser la table Tl. Pour des raisons qui apparaîtront ultérieurement, la valeur de sortie Io de Tl doit être donnée avec la précision N + m à laquelle est ajouté un nombre g de bits de garde Ces bits de garde g sont utilisés pour assurer le maintien de la précision au cours des calculs intermédiaires. Sauf indication particulière, on prendra pour-la suite Io yj ai L/Xj. * d. Le déplacement d utilisé dans l'approximation linéaire pour le calcul de Il est donné par l'expression d = D-Xj avec O La variable d est exprimée en binaire par les p-n bits suivant les N premiers bits de poids fort de D Toutefois, lorsque la précision finale du calcul de I 2 est inférieure à p, la valeur de d est tronquable à m+g (ce qui donne à d la valeur arrondie d = D-Xj-E) On néglige ainsi la valeur résiduelle des bits de poids faible qui n'interviendront pas dans le calcul de I 2 Par contre ces bits seront utilisés pour calculer I (par l'algorithme de Newton par exemple) si la précision obtenue pour I 2 compte tenu de la taille des tables utilisées est insuffisante; cette situation se rencontre pour le calcul d'inverses en format flottant long. * Go L'écart a Io entre deux valeurs successives de yj, yj = 1/Xj et y'j = 1/((Xj)+i) permet de calculer le gradient d'écart d'inverse Go = a Io/i dans l'intervalle ij= lXj, (Xj)+i l Ce gradient d'écart Go est donné par une table T 2 avec la précision n+m+g à partir des mêmes entrées utilisées pour la table T 1. * Cjl La valeur de la correction complémentaire Cjl à apporter à Il pour obtenir l'approximation I 2 dépend de l'intervalle ij considéré et de d Pour ce faire, chaque intervalle ij est partagé en 2 m segments de dimension 2-n-m I 1 est ainsi possible de tracer dans l'intervalle ij la courbe Cj = Dj(X) Y(X) pour chaque valeur de Xjl = Xj + (lx 2-n-m) avec 1 entier de O à 2 m-1 Cette courbe représente l'écart entre la courbe d'inverse Y(X) et la corde Dj(X) (soit la droite Yj Y'j) sur l'intervalle ij= lXj, ((Xj)+i)l Une fois la courbe Cj obtenue, la valeur de la correction associée à d est donnée par Cjl = Cj (Xjl) pour 1 x 2-n-m Le déplacement dl = Xjl Xj est exprimé en mode binaire par le contenu des m bits suivant les N premiers bits de poids fort de D, étant entendu que m La figure 2 montre une représentation de la série des courbes Cj pour les divers intervalles ij= lXj,(Xj)+il entre 0,5 et 1 Bien évidemment, il est théoriquement envisageable de prévoir une table de correction donnant immédiatement pour chaque valeur de Xjl la valeur de correction à appliquer Toutefois, la taille physique ( 2 n+m-1 entrées) d'une telle table n'apporte qu'un faible avantage de taille par rapport à une table d'inverse structurée sur des intervalles de dimension 2-n-m. Une des caractéristiques essentielles de l'invention consiste à tirer parti de l'affinité apparente des diverses courbes Cj (d'allure parabolique) pour déduire toutes ces courbes Cj à partir d'une courbe de base CB par simple multiplication avec un facteur d'échelle Hj représentatif du segment ij concerné La taille de la table de correction directe équivalente à l'agencement des tables T 3 et T 4 aurait été 2 n-1 fois celle de la table T 3. Sur la figure 2, la courbe de base CB=Cjb est donnée, à titre d'exemple, pour le 3 ème segment à partir de la gauche soit i B pour jb= 2 La courbe CB est mémorisée dans une table T 3 dont les entrées (au nombre de 2 m) sont adressées par les m bits de poids faible de Xjl et dont la sortie C Bl est donnée avec la précision recherchée pour I 2 Le facteur d'échelle Hj est, quant-à lui, mémorisé dans une autre table T 4 adressable à partir de Xj soit des n-1 bits suivant le bit de poids fort de D. Précision de l'algorithme Io ->Il ->I 2 et calcul de Hj: A/ Méthode itérative de Newton. En utilisant les définitions présentées ci-dessus, l'inverse I peut s'exprimer de la façon suivante: I = 1/D = 1/((Xj)+d) = ( 1/Xj) x ( 1/( 1 + d/Xj)) = yj x 1/( 1 + d yj) ( 1) avec d yj B/ Méthode d'approximation linéaire (calcul de I 1). Le calcul de Il par approximation linéaire à partir de Io = yj = 1/Xj peut s'exprimer de la façon suivante: Il = yj + ((y'j yj) x (d/i)) = Io + (Go x d) ( 5) Dans cette expression, Io et Go sont donnés par les tables T 1 et T 2 tronqués et arrondis à N + m + g bits De plus, la valeur arrondie de d = D Xj E est obtenue par troncature de D à gauche de N bits et arrondi à m + g bits Il est à noter que les bits de poids fort de Go sont nuls, ce qui permet une certaine simplification et réduction de la table T 2. Par ailleurs, y'j peut s'écrire: y'j l/((Xj) + i) = ( 1/Xj) ( 1/( 1 + (i/Xj))) = yj.( 1/( 1 + i yj)) ( 6) soit par développement limité ( i yj première itération de la méthode de Newton. L'incertitude (valeur maximale de EL dans l'intervalle i) est la plus forte au voisinage de X = 0,5 (y = 2) et la plus faible au voisinage de X = 1 ( y = 1) La figure 2 montre en EL les courbes Cj de variation d'erreur (à partir de Io = yj) en fonction de X, l'erreur EL étant en fait toujours négative. C/ Approximation pour correction complémentaire (calcul de I 2). En reprenant l'expression ( 11), celle-ci peut s'écrire de la façon suivante: EL = (yj)3 d (d i) (l + f(d yj)) ( 12) avec f(d yj) = d yj + d 2 (yj)2) ( 13) Tant que f(d yj) sera " 1, il y aura un coefficient de proportionnalité entre les courbes Cj t (yj)3 d (d i) donnant EL en fonction d pour les intervalles ij et la méthode de correction proposée ci-dessus se révèlera correcte Aussi est-il possible de conserver dans la table T 3 une valeur de correction de base CB 1 en fonction de d (plus précisement de chaque valeur dl) et dans la table T 4 un coefficient d'échelle Hj fonction de Xj. L'intervalle de référence, utilisé pour la construction de la courbe de base CB, i B= Xjb, (Xjb)+i étant partagé en 2 m sous-intervalles, les m bits de poids fort de la valeur de d (c à d les m bits suivants les N bits de poids fort de D) représentatifs de la valeur dl serviront à adresser la table T 3. L'erreur finale est celle due à l'approximation f(d yj) = cte sur l'intervalle 0,5; 1 Posons Hj = Cj/Cjb = ((yj)3/(yjb)3) x (d (d i)) x ( 1 + fj(d))/( 1 + fjb(d)) avec d = i Pour que Hj soit indépendant de d et ne dépende que de yj il faut fj(d) sensiblement égal à fjb(d) Par ailleurs de l'expression ( 13) on peut écrire: 1 + f(d) = 1 d y + d 2 y 2 = 1/( 1 + d y) ( 15) soit Hj = ((yj)3/(yjb)3) x (( 1 + d yjb)/( 1 + d yj)) = Hj = K x (yj/yjb)3 ( 16) soit K = ( 1 + d yj)/( 1 + d yjb) f ( 1 + d yjb) x ( 1 d yj) 1 (d (yj yjb)) ( 17) la limite supérieure de d égale i la limite supérieure de (yj yjb) égale 1 la limite supérieure de d (yj yjb) = i = 2n par rapport à l'unité pour le calcul de la correction, ce qui en association avec ELMAX = 2-( 2 n-1) donne une précision de 3 n-1 bits pour I 2 obtenu avec application du coefficient de proportionalité Hj. De l'expression ( 16) on peut donc écrire: Hj = (yj/yjb)3 = (Xjb/Xj)3 Par ailleurs, il existe une autre provenant de l'utilisation sur tout entourant d de largeur i x 2-m de la source d'erreur le sous-segment valeur approchée i"/(d (d ( 14) constante égale à C(Xjl) L'erreur maximale résultante correspond au premier sous-segment (j=o et 1 = 0) de CO 0,5; ( 0,5 + 2-m-n) et est égale à CO ( 0,5 + 2-m-n) = 8 x 2-m-nx 2-n = 2-( 2 n+m-3) Il importe donc que la précision de la table T 3 ( 2 n+m-3) soit au moins du même ordre de grandeur que la précision ( 3 n-1)obtenue par utilisation du coefficient de proportionalité Ceci est vérifié pour m > n+ 2. Ainsi donc la correction complémentaire permet d'obtenir une précision supplémentaire de N bits quand m est choisi supérieur ou égal à n+ 2. A titre d'exemple le procédé de calcul selon l'invention permet d'obtenir l'inverse d'une mantisse de 24 bits d'un nombre flottant court avec les valeurs N = 8 et m = 10, sans avoir recours au processus d'itération de la méthode de Newton Dans ce cas, Io est obtenue de la table Tl avec N = 8 bits significatifs, Il avec 2 n-1 = 15 bits sign 42 icatifs et I 2 avec 3 n-1 = 23 bits significatifs avant normalisation, soit une erreur possible sur le 24 ème bit après normalisation. Dans tout ce qui précède, il a toujours été fait référence à une erreur de signe constant, ici négative en partant de Io = 1/Xj, c'est à dire de l'extrémité inférieure Xj de l'intervalle ij considéré Il est possible de réduire de moitié l'erreur maximale en valeur absolue en travaillant en erreur signée Ainsi donc l'approximation linéaire permet d'obtenir 2 N bits significatifs pour Il La table T 2 est modifiée légèrement pour accueillir un bit de signe Ce bit de signe trouve cependant facilement une place dans T 2 compte tenu du fait que les bits de poids fort des éléments Go de T 2 sont nuls par construction. Du point de vue géométrique la droite Dj(X) de la figure 3 correspondant à la corde Yj Y'j est translatée en D Sj(X) verticalement vers le bas de la figure d'une valeur égale à JEMA Xjj /2 Dans ce cas la valeur de départ de l'approximation linéaire sera Io = I So(Xj) = ( 1/Xj) - (EMA Xj /2. D'une façon semblable, les diverses courbes Cj sont transformées par translation verticale pour donner les courbes signées C Sj représentées sur la figure 2 Dans cette configuration les axes médians des courbes C Sj coïncident avec l'axe OX Cette modification permet d'obtenir encore un bit significatif supplémentaire après correction complémentaire En reprenant les valeurs données ci-dessus on arrive à 25 bits significatifs, ce qui peut être utilisé pour les calculs en flottant court. Avec les valeurs N = 9 et m = 11, on obtient avec utilisation d'une correction signée, Il avec 2 N = 18 bits significatifs et I 2 avec 3 n+ 1 = 28 bits significatifs Si la valeur de I 2 est alors utilisée comme valeur de départ I No d une itération selon la méthode de Newton, on obtient dès la première itération un résultat IN 1 avec 56 bits significatifs, ce qui est suffisant pour le calcul de l'inverse d'un nombre en format flottant long (mantisse de 56 bits). Mode de réalisation d'un dispositif de calcul d'inverse selon l'invention. La figure 4 illustre le schéma d'un mode de réalisation d'un dispositif selon l'invention pour la mise en oeuvre du procédé exposé ci-dessus Un tel dispositif est incorporé dans l'unité de traitement ou processeur d'un calculateur numérique binaire classique Bien que non représenté à la figure 4, le dispositif est associé à un circuit de normalisation classique, utilisable tant pour les-circuits traitant les nombres en format flottant que pour les circuits traitant les nombres en format fixe En particulier, le circuit de normalisation en base 2 réalise les décalages nécessaires pour positionner le premier bit de valeur 1 du nombre dont on recherche l'inverse (ou de sa mantisse) comme premier bit de poids fort du nombre D et effectue les modifications correspondantes de l'exposant Le résultat final du calcul d'inverse pourra être à nouveau normalisé dans le format adéquat à son utilisation ultérieure. Le dispositif comporte donc un registre d'entrée RD ( 12) partagé en trois champs, le champ XJ constitué des n premiers bits de poids fort de D, le champ DL constitué des m bits suivants et le champ Q constitué des g bits de garde Dans le cas o le format de D est supérieur au format de I 2, les bits de poids faible de D ne sont pas utilisés pour I 2 mais serviront pour l'itération de Newton finale. Le Pispositif selon l'invention est conçu pour être aisément intégrable en technologie VLSI Il comporte en particulier quatre tables Tl à T 4 réalisées sous forme de mémoires mortes programmables (PROM) En particulier, les tables T 1 ( 14), T 2 ( 16) et T 4 ( 20) sont adressées à partir des N premiers bits de poids de D En pratique, il est possible de réduire le nombre d'entrées de ces tables à 2 n-1 en ne considérant que les bits de rang 2 à N de XJ. La table d'inverse Tl délivre à sa sortie la valeur Io dont la dimension est supérieure à celle correspondant à la précision finale recherchée Ainsi donc la table Tl présente une dimension de ((n+m+g) x 2 n-1). La table d'écart T 2 délivre une valeur de sortie Go, signée ou non, utilisée pour le calcul de l'approximation linéaire Go est également de dimension supérieure à la précision recherchée, de sorte que la table T 2 présente une dimension théorique de ((n+m+g) x 2 n-1) En pratique, les valeurs des écarts d'inverse rentrées dans T 2 sont telles que les N premiers bits de poids fort de Go sont à zéro ou représentent le signe Il est donc possible par construction de réduire la taille de T 2 et de prévoir un circuit de sortie de T 2 adapté pour reformater et recadrer Go conformément aux caractéristiques du format de D. La table d'échelle T 4 délivre à sa sortie la valeur du coefficient d'échelle Hj avec une dimension de l'ordre de n bits pour garantir la précision finale conformément à la présentation ci-dessus (voir les conclusions tirées de l'expression ( 17)) La table T 4 a donc pour dimensions (n x 2 n-1) La table de correction T 3 ( 18) est adressée à partir des m bits du champ DL et présente donc 2 m entrées La table T 3 délivre à sa sortie la valeur du coefficient de correction de base C Bl avec une dimension voisine de N bits quand m est -hoisi supérieur ou égal à n+ 2. Il est à noter que les tailles précises des tables sont définies pour chaque application à partir des valeurs de base données ci-dessus qui sont toutefois susceptibles d'être optimisées par simulation dans la mesure o il peut s'avérer intéressant de réduire le nombre de bits de garde Dans certains cas le nombre g de bits de garde du champ Q de RD peut être différent de celui choisi pour les sorties Io, Si et Cjl ( dans le cas présent les nombres de bits de bits de garde ont été choisis égaux à g par commodité). Le dispositif selon l'invention comporte également deux circuits multiplieurs Ml ( 22) et M 2 ( 24) et des moyens d'addition à trois entrées Io, Si et Cjl, et à une sortie sont constitués par deux circuits additionneurs Ai ( 26) et A 2 ( 28) agencés selon le schéma illustré à la figure 4. Toutefois sans sortir du cadre de l'invention les deux additionneurs Ai et A 2 sont remplacés par un circuit additionneur unique à trois entrées (nonreprésenté). Le multiplieur Ml est utilisé pour calculer la correction à introduire dans le calcul de la valeur Il par approximation linéaire Les deux opérandes de M 1 sont d'une part la valeur de sortie Go de T 2 et les (m+g) bits de poids faible de D représentatifs du déplacement d = D Xj à 6 près Ici encore il est possible de ne travailler que sur les (m+g) bits de poids faible de Go, de telle sorte que le multiplieur M 1 a pour taille ((m+g)x(m+g)) Avantageusement, ce multiplieur peut être celui des mantisses de l'opérateur de multiplication La valeur de sortie Sl du multiplieur Mi est convenablement cadrée et tronquée sur n+m+g bits puis appliquée à l'une des deux entrées de l'additionneur Ai L'autre entrée de l'additionneur A 1 reçoit la valeur Io délivrée par la table TI Avantageusement, dans le cas o Go (et Si) est exprimée en valeur signée, l'additionneur Ai est choisi de type additionneur-soustracteur. Le multiplieur M 2 est utilisé pour calculer le coefficient de correction Cjl Selon les indications données ci-dessus, la taille de ce multiplieur est modeste (n x n) Les deux opérandes de M 2 sont constitués par la valeur de sortie Hj de la table T 4 et d'autre par la valeur de sortie C Bl de la table T 3 Dans le cas o les valeurs mémorisées dans la table T 3 sont signées, il en sera de même pour la valeur de sortie Cjl du multiplieur M 2 Cette valeur de sortie Cjl est tronquée et cadrée sur n+m+ g bits pour être convenablement chargée dans l'additionneur A 2 L'additionneur A 2 a donc pour opérande, d'une part Cjl, d'autre part Il délivré par le multiplieur Mi L'additionneur A 2, le cas échéant signé, délivrera en sortie la valeur I 2 sur un format de n+m+g bits avec au maximum 3 n-1 bits significatifs (ou au maximum 3 n+ 1 bits significatifs en cas de calcul d'approximation signée). Enfin le dispositif comporte les moyens matériels pour réaliser au moins une itération de Newton à partir de I 2. Cette itération peut être réalisée par programmation pour réduire le nombre de circuits spécifiques Dans ce cas, une opération de normalisation dans une autre base selon les spécificités du calculateur (par exemple en base 16) est effectuée sur la valeur de I 2 en sortie de A 2 Par contre cette opération n'est pas nécessaire dans le cas o l'itération de Newton est réalisée par des circuits spécifiques micro-programmés (cas illustré à la figure 1). Il résulte de ce qui précède que l'invention permet le calcul d'inverse de mantisse de nombre flottant court sans recourir à la méthode de Newton (nécessitant un jeu complémentaire de multiplieurs de grande taille) au prix de tables additionnelles (T 3 et T 4) de taille modeste De plus, dans le cas o le multiplieur principal Ml est constitué d'additionneurs agencés selon une structure dite d'arbre de Wallace, les additionneurs Al et A 2 sont facilement intégrables dans cette structure Enfin, il est à noter que les deux multiplieurs MI et M 2 travaillent de façon indépendante et simultanée, ce qui est appréciable dans les calculateurs scientifiques pour la rapidité d'exécution de l'opération de division. REVENDICATIONS 1 Procédé pour calculer l'inverse I d'un nombre D, caractérisé en ce qu'il comporte les opérations suivantes: a) Le cas échéant mise sous forme binaire et normalisation du nombre D, b) Recherche, dans une table d'inverse T 1, à partir des n premiers bits de poids fort de D correspondants à une valeur d'entrée Xj = 1/2 + (j x 2-n) avec j entier de O à 2 n-l-l, d'une première approximation Io de l'inverse du nombre D, c) Recherche, dans une table d'écart T 2, du gradient d'écart d'inverse Go = Io/i dans l'intervalle ij= l(Xj), ((Xj)+i)l encadrant la valeur D, avec i = 2 n d) Détermination, par approximation linéaire, d'une deuxième valeur Il par mise en oeuvre de l'algorithme Il = Io + (d x Go) o d = D Xj et Go est rentré en valeur algébrique, e) Recherche, dans une table de correction T 3, à partir de d d'une valeur de correction de base C Bl préétablie, sigree ou non, représentative de l'écart E = I Il dans l'intervalle de base i B= l(Xj B), ((Xj B)+i)l, f) Recherche dans une table d'échelle T 4 d'un facteur d'échelle Hj à partir de Xj, g) Détermination d'une valeur de correction Cjl = C Bl x Hj, h) Détermination d'une troisième approximation I 2 = Il + Cjl. 2 Procédé selon la revendication 1, caractérisé en ce qu'il comporte l'opération de mise en oeuvre de la méthode itérative de Newton dans laquelle la kième itération est donnée par l'algorithme: I Nk = (IN(k 1)) x ( 2 (D x (IN(k-1)))) avec I No = I 2. 3 Procédé selon l'une des revendications précédentes, caractérisé en ce que le gradient d'écart d'inverse Go est négatif est donné par la formule: Go = (Io((Xj)+i) Io(Xj)) / i. 4 Procédé selon l'une des revendications précédentes caractérisé en ce que Io est donné par la formule Io = yj = 1/Xj. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que Io est donné par la formule I So(Xj) = ( 1/Xj) ( EMA Xj /2) o EMA Xj représente la valeur absolue de l'écart maximal entre la courbe Y(X) = 1/X et la corde Dj(X) de la courbe Y(X) dans l'intervalle ij= (Xj), ((Xj)+i) 6 Procédé selon l'une des revendications précédentes, caractérisé en ce que l'entrée de la table de correction T 3 est réalisée à partir des m bits suivant les N bits de poids fort de D et en ce que CB 1 = I((Xjb)+( 1 x 2-m-n))- Il((Xjb)+(l x 2-m-n) pour ( 1 x 2-m-n) 2-m-n)) avec 1 entier compris entre O et 2 m-1. 7 Procédé selon l'une des revendications précédentes, caractérisé en ce que Hj est donné par la formule: Hj = (Xjb/Xj)3. 8 Procédé selon l'une des revendications précédentes, caractérisé en ce que les valeurs de N et m sont choisies pour calculer l'inverse d'un nombre avec N bits significatifs à l'approximation I 2, par exemple N = 32. 9 Procédé selon l'une des revendications 2 à 7, caractérisé en ce que les valeurs de N et m sont choisies pour calculer l'inverse d'un nombre avec N' bits significatifs à l'issue d'une seule itération IN 1 selon la méthode de Newton, par exemple N' = 64. Procédé selon l'une des revendicatins précédentes, caractérisé en ce qu'il est utilisé pour calculer l'inverse de la mantisse d'un nombre codé en format flottant. 11 Calculateur numérique pour la mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte dans au moins un de ses processeurs: des moyens pour le mise en forme binaire et la normalisation du nombre D, une table d'inverse(T 1)adressée en fonction des N bits de poids fort du nombre D et de sortie Io, une table de gradient d'écart(T 2) adressée en fonction des N bits de poids fort du nombre D et de sortie Go, un circuit multiplieur (MI), de sortie Si et dont l'entrée-multiplicateur reçoit au moins m bits suivant les N bits de poids fort de D et l'entréemultiplicande reçoit Go; une table de correction (T 3)adressée en fonction des m bits suivant les N bits de poids fort de D et de sortie C Bl, une table d'échelle(T 4) adressée en fonction des N bits de poids fort du nombre D et de sortie Hj, un second circuit multiplieur (M 2 > dont les entrées recoivent C Bl et Hj et de sortie Cjl, des moyens d'addition(Al et A 2)à trois entrées recevant Io, Si et Cjl, et de sortie I 2. 12 Calculateur selon la revendication 11, caractérisé en ce qu'il comporte des moyens matériels et logiciels pour réaliser par programmation une itération selon la méthode de Newton à partir de la valeur I 2. 13 Calculateur selon l'une des revendications précédentes, caractérisé en ce que la table T 2, le multiplieur Ml et les moyens d'addition Ai, A 2 travaillent sur des opérandes signés. 14 Calculateur selon l'une des revendications 11 à 13, caractérisé en ce que les dimensions de Io, Go, Si, Il et I 2 sont égales à N + m + g, avec g O > 15 Calculateur selon l'une des revendications 11 à 13, caractérisé en ce que la table T 3 comporte 2 m entrées avec m > n+ 2.