FR2818407A1 - Procede et appareil pour calculer une reciproque - Google Patents

Procede et appareil pour calculer une reciproque Download PDF

Info

Publication number
FR2818407A1
FR2818407A1 FR0116373A FR0116373A FR2818407A1 FR 2818407 A1 FR2818407 A1 FR 2818407A1 FR 0116373 A FR0116373 A FR 0116373A FR 0116373 A FR0116373 A FR 0116373A FR 2818407 A1 FR2818407 A1 FR 2818407A1
Authority
FR
France
Prior art keywords
significant bits
bits
mantissa
output
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0116373A
Other languages
English (en)
Inventor
Alexei Krouglov
Jie Zhou
Daniel Gudmunson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sicon Video Corp
Original Assignee
Sicon Video Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002329104A external-priority patent/CA2329104C/fr
Application filed by Sicon Video Corp filed Critical Sicon Video Corp
Publication of FR2818407A1 publication Critical patent/FR2818407A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5356Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Abstract

Procédé et appareil pour calculer la réciproque d'une mantisse normalisée M d'un nombre d'entrée à virgule flottante D. Il est fourni une formule pour déterminer la dimension minimale du tableau de recherche correspondant à la précision requise ainsi que des formules pour calculer des lignes de tableau de recherche. Le tableau de recherche stocke les approximations de l'initialisation et les facteurs de correction qui sont adressés par le nombre correspondant de bits de poids fort de la mantisse et utilisés pour obtenir l'approximation initiale de la réciproque au moyen d'une interpolation linéaire nécessitant une opération de soustraction et une opération dé multiplication. Le résultat de l'interpolation linéaire peut être acheminé à un dispositif d'itération de Newton-Raphson (20) qui nécessite, pour chaque itération, deux opérations de multiplication et une opération de complément de 2, ce qui double la précision de la réciproque.

Description

<Desc/Clms Page number 1>
PROCEDE ET APPAREIL POUR CALCULER UNE RECIPROQUE DOMAINE DE L'INVENTION
La présente invention se rapporte au domaine du traitement du signal. La présente invention se rapporte plus particulièrement à un procédé et un appareil pour calculer la réciproque ou l'inverse d'un nombre.
CONTEXTE DE L'INVENTION
Le calcul de la réciproque joue un rôle important dans l'opération de division, notamment avec des nombres décimaux à virgule flottante. En utilisant une réciproque, le résultat de la division de deux nombres peut être obtenu en multipliant le dividende par l'inverse du diviseur. Ce procédé de division peut être utilisée pour augmenter la vitesse de traitement des calculs complexes dans les dispositifs de traitement numérique tels que les ordinateurs et dans les circuits intégrés spécifiques à une application (ASIC) tels que les processeurs de traitement numérique du signal (DSP).
Selon la norme IEEE sur l'arithmétique à virgule flottante binaire 0754P-1985, laquelle est incluse ici par référence, les nombres standard à virgule flottante aux formats à virgule flottante sont compactés en 32 bits avec une longueur (mantisse) de 24 bits significatifs en précision simple ou alors compactés en 64 bits avec une longueur de 53 bits significatifs en double précision.
Plusieurs procédés d'interpolation et d'itération sont largement utilisés par les développeurs pour calculer les réciproques, dont l'approximation directe, l'interpolation linéaire, l'interpolation carrée, l'interpolation cubique, etc.
Dans le procédé d'approximation directe pour obtenir la réciproque d'un nombre, toutes les mantisses possibles des réciproques sont stockées dans un tableau dans une ROM. Ce procédé permet d'obtenir le résultat rapidement, mais il exige une capacité de mémoire très importante. Pour obtenir une réciproque selon la norme IEEE 754, par exemple, le format virgule flottante à précision simple nécessite 223 x 23 = 184 Mbits de mémoire.
Le procédé d'interpolation linéaire est basé sur le théorème d'une valeur moyenne obtenue du calcul et peut être résumé comme suit pour le calcul de la réciproque :
<Desc/Clms Page number 2>
Figure img00020001

1 1 1 x =---T (X-Xo) (1)
Figure img00020002

où e [xo, x] et x xo.
Il est également possible d'employer l'interpolation carrée, l'interpolation cubique et d'autres procédés d'interpolation pour obtenir une réciproque ayant la précision requise. Tous ces procédés nécessitent cependant des opérations de multiplication supplémentaires et ont besoin d'une mémoire supplémentaire pour stocker les facteurs de correction. Le principal inconvénient des procédés d'interpolation est le fait que l'espace mémoire nécessaire pour stocker les données nécessaires augmente en même temps que la précision souhaitée.
La procédé d'itération de Newton-Raphson est largement utilisée dans les ordinateurs numériques pour calculer les réciproques. Ce procédé donne la solution de l'équation f (z) =0 (2) en se basant sur l'utilisation de la formule récurrente
Figure img00020003
Les valeurs z ; obtenues après l'itération i convergent de manière quadratique vers z, ce qui a pour résultat que les erreurs correspondantes # après l'itération i et
Figure img00020004

l'itération i+1 sont liées par l'expression : e (z) (Zj) (4)
Figure img00020005

L'utilisation du procédé de Newton-Raphson pour calculer la réciproque x ==a
Figure img00020006

produit l'expression suivante : Xi+, = XI * (2-a*Xi) (5)
Comme le montre l'équation (5), chaque étape itérative de ce procédé fait appel à deux opérations de multiplication effectuées dans l'ordre et à une opération de complément de 2. La précision d'une réciproque double ainsi après chaque étape itérative. L'inconvénient du procédé d'itération de Newton-Raphson en elle-même est qu'elle peut nécessiter plusieurs étapes d'itération pour obtenir une réciproque ayant la précision requise.
Pour venir à bout des inconvénients ci-dessus, des procédés ont évolué vers l'utilisation de certains types de procédés d'interpolation pour obtenir l'approximation initiale de la réciproque et emploient ensuite un procédé d'itération qui se base sur cette approximation. Il a été proposé, par exemple, d'utiliser des tableaux d'inverses pour obtenir les valeurs initiales pour des itérations consécutives.
<Desc/Clms Page number 3>
RESUME DE L'INVENTION
La présente invention fournit un procédé et un appareil pour diviser une valeur qui peuvent fournir rapidement et avec une grande précision l'inverse (la réciproque) d'un nombre.
Conformément au procédé de l'invention, l'interpolation linéaire est employée pour obtenir une approximation de la réciproque d'un nombre. Cette approximation peut ensuite être utilisée comme valeur d'entrée pour des itérations de NewtonRaphson afin de calculer une réciproque avec une grande précision.
Contrairement aux procédés de l'art antérieur, le procédé de l'invention fournit une formule pour calculer un nombre minimum d'entrées dans un tableau de recherche afin d'obtenir l'approximation d'une réciproque avec la précision requise.
Le procédé de l'invention fournit également des formules pour calculer les approximations initiales et les facteurs de correction en vue de composer des entrées ou lignes dans les tableaux de recherche. Un appareil destiné à mettre en oeuvre le procédé de l'invention comprend une mémoire de tableau de recherche pour stocker ces valeurs, un multiplicateur de nombres entiers et un soustracteur.
Par conséquent, la présente invention fournit un procédé pour générer un signal de sortie représentant une valeur de sortie qui représente une approximation de la réciproque de la valeur d'entrée D ayant une mantisse normalisée M (où 1 < M < 2) représentée par un signal d'entrée, le signal d'entrée comprenant un ensemble de No bits de poids fort et le signal de sortie représentant une approximation de la
Figure img00030001

réciproque avec une précision souhaitée s = 2-N, où N < No, comprenant les étapes consistant à : a) pour un ensemble de P bits de poids fort du signal d'entrée, générer un nombre n de lignes ou d'entrées dans une pluralité de tableaux de recherche où n = 2P, y compris les sous-étapes consistant à : i) générer un ensemble de lignes d'entrée Yi comprenant un ensemble de N bits significatifs dans un premier tableau de recherche, où i = 0,..., n-1 ; et ii) générer un ensemble de lignes d'entrée Ki comprenant un ensemble de (N-P) bits significatifs dans un deuxième tableau de recherche, où i = 0,..., n-1 ; b) rechercher dans les tableaux de recherche les lignes yi et Ki correspondant à l'ensemble des P bits significatifs ou de poids fort du signal d'entrée ; c) multiplier Ki par un signal comprenant un ensemble de (N-P) bits significatifs suivant l'ensemble des P bits de poids fort du signal d'entrée ; et d) soustraire l'ensemble des (N-P) bits de poids fort de l'ensemble des N bits significatifs de la ligne yi.
Dans d'autres aspects du procédé de l'invention, l'étape consistant à générer n lignes dans les tableaux de recherche comprend les sous-étapes consistant à :
<Desc/Clms Page number 4>
iii) calculer le nombre minimum 1 de lignes de tableau de recherche nécessaires pour obtenir une précision supérieure à la précision souhaitée, où
Figure img00040001

et iv) rechercher un nombre minimum requis n de lignes de tableau de recherche pour n=2, où 2 < 1 et 2P 1. De préférence, l'étape consistant à générer un ensemble de lignes d'entrée dans le premier tableau de recherche comprend les sous-étapes consistant à :
Figure img00040002

A. calculer
Figure img00040003
Figure img00040004

où i = 0,..., n-1, Xo = 1 et x, +j = XI +1et n B. rechercher les lignes yi comprenant un ensemble de N bits significatifs puis réaliser une approximation d'une mantisse de y, pour i = 0,..., n-1.
Avantageusement, l'étape consistant à générer un ensemble de lignes d'entrée dans le deuxième tableau de recherche comprenant les sous-étapes consistant à :
Figure img00040005

calculer
Figure img00040006

2N-P 1 KI =-----où i = 0,..., n-1, xo = 1 et x, +t = x, ± 1 n Xj (X, ±) n
Figure img00040007

et rechercher les lignes Ki comprenant un ensemble de (N-P) bits significatifs puis réaliser une approximation des parties entières de i pour i = 0,..., n-1.
La présente invention fournit également un appareil pour calculer un inverse 1 ayant une précision E = 2-N d'une valeur d'entrée D ayant une mantisse normalisée M (où 1 s M < 2) comprenant un ensemble de No bits de poids fort où No > N, l'appareil comprenant au moins un processeur, une première mémoire formant un tableau de recherche adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M et ayant une sortie 10 comprenant un ensemble de N bits significatifs ; une deuxième mémoire formant un tableau de recherche adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M et ayant une sortie K comprenant un ensemble de (N-P) bits significatifs ; un multiplicateur de dimension (N-P) x (NP) ayant deux entrées d'un ensemble de (N-P) bits significatifs suivant l'ensemble des P bits de poids fort de la mantisse M et de la sortie K, et une sortie MU comprenant un ensemble de (N-P) x (N-P) bits significatifs ; et un additionneur/soustracteur ayant une sortie 1 et ayant deux entrées reliées pour
<Desc/Clms Page number 5>
recevoir respectivement la sortie Io et l'ensemble des (N-P) bits de poids fort de la sortie MU.
Dans d'autres aspects de l'appareil de l'invention, les première et deuxième mémoires sont combinées en un dispositif de stockage qui stocke à la fois Io et K et qui est adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M. Avantageusement, l'appareil comprend en plus un dispositif pour effectuer une itération de Newton-Raphson programmée basée sur 1. De préférence, la première mémoire comprend une mémoire morte (ROM). Selon un mode de réalisation préféré, la deuxième mémoire comprend une mémoire morte (ROM). Selon un autre mode de réalisation préféré, le dispositif de stockage comprend au moins une mémoire morte (ROM). Selon un dernier mode de réalisation préféré, l'appareil est intégré dans un dispositif de traitement numérique du signal.
BREVE DESCRIPTION DES DESSINS
Dans les dessins qui illustrent à titre d'exemple un seul mode de réalisation préférentiel de l'invention,
La figure 1 est un graphique représentant le procédé d'interpolation linéaire telle qu'elle est utilisée dans la présente invention ;
La figure 2 est un synoptique représentant un appareil d'interpolation linéaire conforme à l'invention pour obtenir une précision de N bits de la mantisse d'une réciproque ; et
La figure 3 est un synoptique représentant un appareil d'itération de NewtonRaphson pour obtenir une précision de 2N bits pour la mantisse d'une réciproque.
DESCRIPTION DETAILLEE DE L'INVENTION
L'invention est applicable aux calculs qui emploient la mantisse M d'un nombre binaire D dans le format à virgule flottante. La mantisse M du nombre en entrée est supposée avoir été préalablement normalisée, c'est-à-dire être égale ou supérieure à 1 et inférieure à 2 de manière à ce que 1 < M < 2.
La figure 1 illustre un mode de réalisation préférentiel du procédé d'interpolation linéaire employé dans le procédé de l'invention pour réaliser une approximation de la réciproque d'un nombre. En comparaison du procédé d'approximation directe, l'interpolation linéaire réduit de manière significative le nombre de lignes qu'il faut stocker dans un tableau de recherche. Pour obtenir une précision de N bits E = 2-N pour la mantisse M de la réciproque tout en employant le procédé d'approximation directe, le tableau de recherche aurait besoin de 2N-1 lignes à écarts égaux, alors que pour obtenir la même précision de N bits s = 2-N pour la mantisse de la réciproque en employant le procédé d'interpolation linéaire, il est
<Desc/Clms Page number 6>
Figure img00060001

suffisant de disposer de 2P lignes dans le tableau de recherche avec P s N. Chaque ligne est distincte de la ligne précédente de 2-P, les P bits de poids fort (MSB) de la mantisse M constituent ainsi l'adresse du tableau de recherche.
Les valeurs xi et xs+l dans la figure 1 représentent deux lignes consécutives du tableau de recherche. La valeur yi représente l'approximation de la valeur-qui est xi stockée dans le tableau de recherche. La valeur (x - Xi) est représentée par les bits de la mantisse immédiatement après ses P premiers MSB.
L'approximation d'une réciproque requise est exprimée par la formule suivante : y = yi - ki (x-xi) (6) où ki est le facteur de correction et Xi S x < x, +l.
Pour obtenir la mantisse M d'une réciproque avec une précision de N bits, au moins (N-P) bits après les P MSB de la mantisse M doivent être mis en concordance avec au moins (N-P) bits significatifs du facteur de correction Ki indiqué dans la figure 1. Ces facteurs sont stockés dans le tableau de recherche sous forme de nombres entiers Ki = 2N-P x kl. Par conséquent, le fait d'obtenir la mantisse M de la réciproque avec une précision de N bits comprend les étapes consistant à multiplier les (N-P) bits de la mantisse M par les (N-P) bits du facteur Ki dans le multiplicateur
Figure img00060002

de nombres entiers de dimension (N-P) x (N-P), à diviser le résultat par 2N-P et ensuite à soustraire le quotient de y,.
Les N bits de la mantisse M pour yi et les (N-P) bits pour le nombre entier Ki sont stockés dans le tableau de recherche. Les valeurs yi et Ki sont calculées d'après les formules suivantes avec une précision respective de N et de (N-P) :
Figure img00060003

où n est le nombre de lignes dans le tableau de recherche.
L'erreur maximale E du procédé d'interpolation linéaire pour rechercher la réciproque d'une mantisse M, normalisée de manière à être comprise entre 1 et 2, dépend de n et elle est exprimée par la formule suivante :
Figure img00060004
<Desc/Clms Page number 7>
Figure img00070001

Le nombre n nécessaire de lignes dans le tableau de recherche peut être déterminé à partir de la formule (9) où l'erreur maximale requise s est connue.
Pour n = 64, par exemple, l'erreur maximale s du procédé d'interpolation linéaire destiné à obtenir une réciproque est égale à 2. 98jcl0 > 2-16, alors que pour n =128 l'erreur maximale selon le procédé d'interpolation linéaire est s 7, 54*10- < 2-16.
La figure 2 illustre un appareil 10 pour calculer les réciproques conformément à l'invention, lequel met en oeuvre le procédé tel qu'il est décrite ci-dessus. Les P MSB de la mantisse M du numéro d'entrée D forment la ligne d'adresse de la ROM 12 qui contient 2'lignes. La ROM 12 stocke de préférence N bits pour l'inverse Yi des P MSB d'une mantisse (bien qu'il soit suffisant de stocker (N-1) bits car le bit de tête de l'inverse est toujours 0 ) et (N-P) bits du facteur de correction K, pour effectuer l'interpolation linéaire.
Les (N-P) bits des facteurs de correction K sont acheminés à une entrée du multiplicateur de nombres entiers 14 ayant une dimension (N-P) x (N-P). La valeur de (N-P) bits qui se trouvent immédiatement après les P MSB de la mantisse d'entrée M est acheminée à une autre entrée du multiplicateur 14. Les (N-P) MSB MU du produit obtenu en multipliant la longueur de (N-P) x (N-P) bits sont acheminés à une entrée du soustracteur de nombres entiers 16 ayant une dimension N. Les P MSB de l'entrée MU sont tous à 0 et les (N-P) bits de poids faible (LSB) du produit sont éliminés. Les N bits de l'approximation de la réciproque Yi en provenance de la ROM 12 (représentés par 10 dans la figure 2) sont acheminés à une autre entrée du soustracteur 16. Le résultat de la soustraction forme la sortie de N bits (représentés par 1 dans la figure 2) de l'appareil 10.
Notez que si les P MSB de la mantisse d'entrée M sont égaux à 1 (ce qui veut dire que le bit de poids fort est à 1 alors que les (P-1) autres bits sont à 0 ), la sortie 1 peut alors être représentée comme le complément à 1 de (N-P) bits de MU, ce qui simplifie les calculs.
La figure 3 illustre un appareil 20 pour réaliser des itérations de NewtonRaphson du résultat de l'interpolation linéaire afin d'augmenter la précision de N bits du résultat à une précision de 2N bits. Les N bits de la sortie 1 de l'appareil d'interpolation 10 sont acheminés à une entrée du multiplicateur de nombres entiers 22 ayant une dimension N x 2N. Les 2N bits de la sortie du multiplexeur 24 sont acheminés à une autre entrée du multiplicateur 22. Le multiplexeur 24 sélectionne alternativement 2N MSB ou bits de poids fort de la mantisse d'entrée M (rempli avec des 0 supplémentaires si nécessaire) et 2N bits de la sortie d'un dispositif 26 à complément de 2.
<Desc/Clms Page number 8>
Le multiplicateur 22 produit un résultat de 3N bits de long. Les N ensembles de poids faible du produit de cette multiplication sont éliminés. Les 2N bits de poids fort MU1 du produit sont acheminés au dispositif 26 à complément de 2. La sortie du dispositif 26 à complément de 2 de 2N bits de long est acheminée au multiplexeur 24. Lors du deuxième passage à travers le multiplexeur 22, les 2N MSB ou bits de poids fort du produit de la multiplication forment la sortie de 2N bits de l'appareil 20 (représentée par Il dans la figure 3).
Bien qu'un mode de réalisation préférentiel de la présente invention a été présenté et décrit au moyen d'un seul exemple, il sera évident aux personnes compétentes dans l'art que des changements et des modifications peuvent être effectués sans s'écarter de la portée de l'invention telle qu'elle est définie dans les revendications jointes.

Claims (11)

REVENDICATIONS
1. Appareil pour calculer un inverse 1 ayant une précision s = 2-N d'une valeur d'entrée D ayant une mantisse normalisée M (où 1 sM < 2) comprenant un ensemble de No bits de poids fort où No 2 : : N, l'appareil comprenant au moins un processeur ; une première mémoire formant un tableau de recherche adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M et ayant une sortie Io comprenant un ensemble de N bits significatifs ; une deuxième mémoire formant un tableau de recherche adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M et ayant une sortie K comprenant un ensemble de (N-P) bits significatifs ; un multiplicateur de dimension (N-P) x (N-P) ayant deux entrées d'un ensemble de (N-P) bits significatifs suivant l'ensemble des P bits de poids fort de la mantisse M et de la sortie K, et une sortie MU comprenant un ensemble de (N-P) x (N-P) bits significatifs ; et un additionneur/soustracteur ayant une sortie 1 et ayant deux entrées reliées pour recevoir respectivement la sortie 10 et l'ensemble des (N-P) bits de poids fort de la sortie MU.
2. Appareil selon la revendication 1, dans lequel les première et deuxième mémoires sont combinées en un dispositif de stockage qui stocke à la fois Io et K et qui est adressé sous la forme d'une fonction des P bits de poids fort de la mantisse M.
3. Appareil selon la revendication 1 ou 2, comprenant en plus un dispositif pour effectuer une itération de Newton-Raphson programmée basée sur 1.
4. Appareil selon l'une des revendication 1 à 3, dans lequel la première mémoire comprend une mémoire morte (ROM).
5. Appareil selon l'une des revendications 1 à 4, dans lequel la deuxième mémoire comprend une mémoire morte (ROM).
6. Appareil selon la revendication 2, dans lequel le dispositif de stockage comprend au moins une mémoire morte (ROM).
<Desc/Clms Page number 10>
7. Dispositif de traitement numérique du signal, comprenant l'appareil selon l'une des revendications 1 à 6.
8. Procédé pour générer dans un appareil selon l'une des revendications 1 à 6 un signal de sortie représentant une valeur de sortie qui représente une approximation de la réciproque de la valeur d'entrée D ayant une mantisse normalisée M (où 1 M < 2) représentée par un signal d'entrée, le signal d'entrée comprenant un ensemble de No bits de poids fort et le signal de sortie représente une approximation de la réciproque avec une précision souhaitée s = 2-N, où N No, comprenant les étapes consistant à : a. pour un ensemble de P bits de poids fort du signal d'entrée, générer un nombre n de lignes dans une pluralité de tableaux de recherche où n = 2P, y compris les sous-étapes consistant à : i. générer un ensemble de lignes d'entrée yi comprenant un ensemble de N bits significatifs dans un premier tableau de recherche de la première mémoire, où i = 0,..., n-1 ; et ii. générer un ensemble de lignes d'entrée Ki comprenant un ensemble de (N-P) bits significatifs dans un deuxième tableau de recherche de la deuxième mémoire, où i = 0,..., n-1 ; b. rechercher dans les tableaux de recherche les lignes yi et K, correspondant à l'ensemble des P bits de poids fort du signal d'entrée ; c. multiplier Ki par un signal comprenant un ensemble de (N-P) bits significatifs suivant l'ensemble des P bits de poids fort du signal d'entrée ; et d. soustraire l'ensemble des (N-P) bits de poids fort de l'ensemble des N bits significatifs de la ligne yi.
9. Procédé selon la revendication 8, dans laquelle l'étape consistant à générer n lignes dans les tableaux de recherche comprend les sous-étapes consistant
Figure img00100001
à : iii. calculer le nombre minimum 1 de lignes de tableau de recherche nécessaires pour obtenir une précision supérieure à la précision souhaitée, où
Figure img00100002
iv. rechercher un nombre minimum requis n de lignes de tableau de recherche pour n = 2P, où 2 < 1 et 2P 1.
<Desc/Clms Page number 11>
Figure img00110001
10. Procédé selon la revendication 8 ou 9, dans laquelle l'étape consistant à générer un ensemble de lignes d'entrée dans le premier tableau de recherche comprend les sous-étapes consistant à :
Figure img00110002
1 1 Jjc, (. f, ±) +A. calculer , =-----" où i = 0,..., 1 Xi (Xi ±) n n-l, xo = 1 et Xi+l = xi ± ; et n
Figure img00110003
B. rechercher les lignes yi comprenant un ensemble de N bits significatifs puis réaliser une approximation d'une mantisse de yi pour i = 0,..., n-l.
11. Procédé selon l'une des revendications 8 à 10, dans laquelle l'étape consistant à générer un ensemble de lignes d'entrée dans le deuxième tableau de recherche comprend les sous-étapes consistant à :
Figure img00110004
2' 1 A. calculerKj= oùi=O,..., n-l, xo=letx1+l=Xi± ; et 1 n Xi (xi ±) n
Figure img00110005
B. rechercher les lignes Ki comprenant un ensemble de (N-P) bits significatifs puis réaliser une approximation des parties entières de iCi pour i = 0,..., n-1.
FR0116373A 2000-12-20 2001-12-18 Procede et appareil pour calculer une reciproque Withdrawn FR2818407A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002329104A CA2329104C (fr) 2000-12-20 2000-12-20 Methode et appareil pour calculer un reciproque
US09/781,951 US6769006B2 (en) 2000-12-20 2001-02-14 Method and apparatus for calculating a reciprocal

Publications (1)

Publication Number Publication Date
FR2818407A1 true FR2818407A1 (fr) 2002-06-21

Family

ID=25682301

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0116373A Withdrawn FR2818407A1 (fr) 2000-12-20 2001-12-18 Procede et appareil pour calculer une reciproque

Country Status (3)

Country Link
JP (1) JP2002244843A (fr)
FR (1) FR2818407A1 (fr)
GB (1) GB2372353A (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065633A (ja) * 2004-08-27 2006-03-09 Sony Computer Entertainment Inc 演算方法および装置
US7747667B2 (en) * 2005-02-16 2010-06-29 Arm Limited Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation
US8015228B2 (en) 2005-02-16 2011-09-06 Arm Limited Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377992B1 (fr) * 1989-01-13 1996-04-17 International Business Machines Corporation Méthode et dispositif de division à virgule flottante

Also Published As

Publication number Publication date
GB0129122D0 (en) 2002-01-23
GB2372353A (en) 2002-08-21
JP2002244843A (ja) 2002-08-30

Similar Documents

Publication Publication Date Title
US5951629A (en) Method and apparatus for log conversion with scaling
FR2822260A1 (fr) Procedes et dispositifs pour accelerer le temps de calcul d&#39;un produit de montgomery d&#39;un multiplication et d&#39;une exponentiation modulaire
CA2329104C (fr) Methode et appareil pour calculer un reciproque
EP2012214B1 (fr) Procédé et dispositif de génération numérique d&#39;une fréquence
JP3551113B2 (ja) 除算器
Hiasat et al. On the Design of RNS Inter-Modulo Processing Units for the Arithmetic-Friendly Moduli Sets {2 n+ k, 2 n− 1, 2 n+ 1− 1}
FR2849512A1 (fr) Multiplieur modulaire de montgomery et procede de multiplication correspondant
FR2818407A1 (fr) Procede et appareil pour calculer une reciproque
US20130262541A1 (en) Method and circuitry for square root determination
FR2772950A1 (fr) Dispositif electronique de calcul d&#39;une transformee de fourier a architecture dite &#34;pipelinee&#34; et procede de commande correspondant
Muscedere et al. On efficient techniques for difficult operations in one and two-digit DBNS index calculus
CN113608718A (zh) 一种实现素数域大整数模乘计算加速的方法
CA2038463C (fr) Procede pour calculer l&#39;inverse d&#39;un nombre et calculateur pour la mise en oeuvre dudit procede
EP3451316B1 (fr) Dispositif de réduction modulaire
Mohan et al. Scaling, base extension, sign detection and comparison in RNS
Wang et al. Novel design and FPGA implementation of DA-RNS FIR filters
FR2859585A1 (fr) Reduction modulaire pour un procede cryptographique, et coprocesseur pour la realisation d&#39;une telle reduction modulaire
Phalguna et al. Novel RNS-to-binary converters for the three-moduli set {2 m− 1, 2 m, 2 m+ 1}
CA2359198C (fr) Unite de calcul pour l&#39;execution d&#39;un protocole cryptographique
WO2003093973A1 (fr) Multiplication au sens de montgomery
Ananda Mohan Reverse Converters for the Moduli Set 2^ n, 2^ n-1-1, 2^ n-1, 2^ n+ 1-1\}(n\, Even) 2 n, 2 n-1-1, 2 n-1, 2 n+ 1-1 (n Even)
Balaji et al. Memory reduction techniques for logarithmic number system
JP2000010763A (ja) 除算回路
Omondi Fast residue-to-binary conversion using base extension and the Chinese Remainder Theorem
JPH0444411A (ja) ディジタルフィルタの演算方法

Legal Events

Date Code Title Description
ST Notification of lapse