FR 2981471 A1 20130419 FR 1256964 A 20120719 La présente invention concerne un procédé pour calculer le résultat d'opérations dans le corps de Galois CG(2") à 2" éléments et un processeur de traitement numérique de signal mettant en oeuvre ce procédé. En particulier, ce procédé permet d'obtenir le produit ou le quotient d'éléments 5 dans le corps de Galois dans un processeur de traitement numérique de signal. L'exemple illustratif d'un mode de réalisation de l'invention, nullement limitatif en soi, est relatif au domaine de la réception d'ondes radio. Dans le cadre de la réception radio numérique, par exemple DAB (acronyme anglais de « Digital Audio Broadcasting » qui signifie diffusion audio numérique) qui est un 10 système de radiodiffusion numérique standardisé, ou encore T-DMB (abréviation anglaise de « Terrestrial Digital Multimedia Broadcasting » qui signifie diffusion multimédia numérique terrestre et qui est un système de diffusion numérique terrestre basé sur le DAB, il est nécessaire de mettre en oeuvre un mécanisme de décodage de type ReedSolomon susceptible de réaliser l'opération inverse faite à la transmission et visant à 15 diminuer les erreurs dues au canal de transmission. Un mécanisme de codage/décodage de type Reed-Solomon permet, dans une certaine limite, de corriger les erreurs de transmission qui peuvent se produire lors de la transmission de signaux radio par exemple. Dans un récepteur, un tel décodage est généralement mis en oeuvre par un 20 DSP (abréviation anglaise utilisée ci-après pour « Digital Signal Processor » qui signifie processeur de traitement numérique de signal), qui n'est en général pas dédié qu'au décodage mais est également voué à réaliser d'autres tâches. Dans l'état de l'art, on connait deux types de DSP ; ceux qui intègrent un « accélérateur hardware de Galois » aptes à réaliser des opérations dans le corps de 25 Galois et d'autres qui sont dépourvus de ce type d'accélérateur. On entend par « accélérateur hardware » de la logique câblée permettant de réaliser des calculs sans solliciter les ressources logicielles du DSP, l'opération se faisant alors en une seule instruction. Un corps de Galois utilisé en informatique est un ensemble fini de nombres 30 binaires servant comme nous venons de le voir, par exemple, à la correction d'erreurs dans les traitements de données effectués par ces DSP en mettant en oeuvre un codage et/ou décodage de type Reed-Solomon. L'ensemble des nombres binaires de N bits, N étant un entier, forme un corps de Galois CG(2") avec 2" éléments, sur lequel on définit une somme et une multiplication 35 internes, c'est-à-dire telles que la somme ou le produit de deux nombres du corps de Galois CG(2N) est également un nombre du corps de Galois CG(2N). La somme de deux nombres consiste à effectuer un « OU exclusif » bit par bit entre ces deux nombres. Il en résulte qu'en considérant un élément x quelconque du corps de Galois CG(2N), on a : x + x = 2x = O. La multiplication d'un nombre binaire par la racine a, qui est une racine du polynôme primitif P(x) générateur du corps de Galois CG(2N), est une multiplication classique de deux nombres binaires de N bits tant qu'elle ne génère pas de retenue, c'est-à-dire tant que le résultat ne comporte pas de bits à 1 de poids supérieur à N - 1. Dès qu'une retenue est générée, celle-ci est combinée par un « OU exclusif » à des bits prédéterminés des bits de poids 0 à N - 1, définis par un polynôme dit polynôme primitif P(x) du corps de Galois CG(2N). La multiplication de deux nombres binaires quelconques utilise le processus décrit ci-dessus de manière itératif pour tous les bits des deux nombres binaires. Tout élément non nul du corps de Galois CG(2N) peut s'écrire comme une 15 puissance de la racine a (racine du polynôme primitif P(x)). Dans un corps de Galois CG(2N) de 2N éléments, ces puissances sont définies modulo 2N-1, c'est-à-dire que tout x élément non nul de ce corps peut s'écrire x = a', i étant un entier. Dans le cas où i n'appartient pas à l'intervalle fermé [0, 2N-11 alors on peut le ramener dans cet intervalle en calculant : 20 = i mod (2N-1) (1) On a alors OE. Dans le cas des DSP « sans accélérateur hardware de Galois », le nombre de calculs pour réaliser les opérations de multiplication et division sur des polynômes dans le 25 corps de Galois nécessite beaucoup d'instructions ou encore de cycles machine qui se mesurent en MIPS (acronyme anglais de « Million Instructions Per Second » qui signifie en français million d'instructions par seconde, unité de mesure de la puissance de calcul des processeurs). Cela est d'autant plus vrai lorsque le DSP doit effectuer des multiplications ou des divisions euclidiennes de polynômes. 30 On comprend, dès lors, que pour la réalisation classique de l'ensemble des fonctions dévolues à un DSP qui requiert un nombre important de MIPS, il importe que ce DSP soit puissant et qu'il intègre un « accélérateur hardware de Galois ». Cependant, la mise en oeuvre de tels DSP comportant un « accélérateur hardware de Galois » dans des dispositifs tels que des décodeurs représente un coût 35 conséquent au regard notamment de DSP dépourvus de tel accélérateur. Afin de remédier aux problèmes précédents, l'invention propose un procédé pour calculer le résultat d'opérations dans le corps de Galois pour les DSP qui sont dépourvus « d'accélérateur hardware de Galois », augmentant ainsi leurs performances. Dans ce but, un aspect de l'invention se rapporte à un procédé pour calculer 5 le résultat d'opérations, dans un corps de Galois CG(2") avec 2" éléments, d'un premier nombre par un deuxième nombre, ces nombres étant codés sur N bits, remarquable en ce qu'il comprend : 10 une étape préalable de génération dans les moyens de mémoire d'un processeur de traitement numérique de signal : - d'une table étendue des « Valeurs » comportant une pluralité de valeurs binaires en correspondance avec une pluralité d'exposants ; - d'une table étendue des « Exposants » comportant une pluralité d'exposants en correspondance avec une pluralité de valeurs binaires ; une étape d'exécution d'un algorithme visant à déterminer dans la table étendue des « Valeurs » deux exposants en fonction du premier nombre et du deuxième nombre, une étape de calcul d'un premier résultat à partir des deux exposants déterminés; une étape d'indentification dans la table étendue des « Exposants » d'une valeur correspondant au premier résultat. Avantageusement, l'opération est une multiplication ou une division. Selon un mode de réalisation, l'étape de calcul correspond à une somme lorsque l'opération se rapporte à une multiplication et à une soustraction lorsque - - 15 - - 20 l'opération se rapporte à une division. 25 Avantageusement, les tables étendues comportent des zones permettant : - la prise en compte de la multiplication ; - la prise en compte de la division, et - le codage d'un exposant pour une valeur nulle. Dans un mode de réalisation préféré, la prise en compte de la multiplication 30 est réalisée au cours des étapes suivantes : - se positionner sur la dernière ligne de la table étendue des « Exposants », - recopier dans la table étendue des « Exposants » les 2" - 1 dernières valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants », exceptée la dernière et créer 2" - 2 nouvelles lignes, 35 - incrémenter les valeurs des exposants d'autant que de lignes créées, - répéter les étapes précédentes autant de fois qu'il est nécessaire de prévoir des multiplications. En outre, la prise en compte de la division est réalisée au cours des étapes suivantes : - se positionner sur la première ligne de la table étendue des « Exposants », - insérer 2" - 2 lignes en recopiant dans la table étendue des « Exposants » les 2" - 1 premières valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants », exceptée la première, - décrémenter les valeurs des exposants d'autant que de lignes créées, - répéter les étapes précédentes autant de fois qu'il est nécessaire de prévoir des divisions. Un perfectionnement consiste en ce que le codage d'un exposant pour une valeur nulle est réalisé au cours des étapes suivantes : - se positionner sur la première ligne de la table étendue des « Valeurs », - insérer une ligne dont la valeur binaire est 000 et l'exposant est égal à la soustraction de la valeur minimale des exposants de la table étendue des « Exposants » à la valeur maximale des exposants de la table étendue des « Exposants », augmentée de la valeur 1. - se positionner sur la dernière ligne de la table étendue des « Exposants », - retenir la valeur 000 pour les exposants supérieurs à l'exposant maximum des exposants de la table étendue des « Exposants » et inférieurs à deux fois la valeur de l'exposant associé à la valeur 000 dans la table étendue des « Valeurs ». Selon un mode de réalisation, les valeurs binaires sont des valeurs d'octets. L'invention se rapporte également à un processeur de traitement numérique de signal paramétrable, susceptible de réaliser le codage et/ou le décodage des codes correcteurs et détecteurs d'erreurs Reed-Solomon à partir de la mise en oeuvre du procédé décrits ci-dessus. L'invention offre l'avantage de diminuer le nombre de MIPS des algorithmes réalisant des multiplications et/ou des divisions dans le corps de Galois. Une telle amélioration permet de réduire le coût de fabrication de dispositif implémentant des DSP sans « accélérateur hardware de Galois », réalisant ainsi les tâches de calculs avec des performances accrues. Les ressources du DSP ainsi libérées peuvent alors être utilisées pour la réalisation d'autres tâches. D'autres avantages et caractéristiques de l'invention apparaîtront mieux à la lecture de la description d'un mode de réalisation préféré qui va suivre, en référence aux dessins annexés, réalisés à titre d'exemples indicatifs et non limitatifs et sur lesquels : - la figure 1 illustre des tables étendues des valeurs et des exposants selon un premier mode de réalisation de l'invention, - la figure 2 représente des tables étendues des valeurs et des exposants avec une double extension selon un second mode de réalisation de l'invention, Dans un exemple de réalisation, l'invention se rapporte à un DSP mettant en 10 oeuvre un code informatique se rapportant à un algorithme apte à réaliser des calculs dans le corps de Galois. Cet algorithme réalise plus particulièrement des opérations de multiplication ou de division dans ce corps en supprimant les traitements supplémentaires. On entend par traitements supplémentaires, les traitements qui ont lieu dans 15 le cas de dépassement d'exposant et de la gestion de la valeur zéro. On notera que dans le cas où l'opération est une division dans le corps de Galois, le test de la valeur nulle du dénominateur reste quant à elle nécessaire pour éviter de diviser par zéro. Cet algorithme, lorsqu'il est exécuté par le DSP, génère une instruction de 20 chargement de deux tables dans les moyens de mémoire de ce DSP : - Une première table correspond à une table étendue des « Valeurs » V comportant les valeurs Val des éléments du corps de Galois dans lequel ces valeurs sont rangées dans l'ordre croissant (ou décroissant) et formant alors des indices donnant la valeur de l'exposant Exp associé à ces dites valeurs Val. 25 - La deuxième table se rapporte à une table étendue des « Exposants » E correspondant aux exposants Exp rangés dans un ordre croissant (ou décroissant) et formant ainsi des indices donnant la valeur Val associée à ces dits exposants Exp. Ces tables étendues des « Valeurs » V et des « exposants » E sont des tables 30 de correspondances entre des valeurs Val d'octets et des exposants Exp. Elles forment une organisation des données linéaire pouvant être stockée aisément et dont l'accès est également facilité dans la mémoire d'un DSP. Avantageusement, les valeurs Val d'octets sont configurées pour être des adresses mémoire dans le DSP. Dans le cadre d'exécution de codes informatiques relatifs à des applications, 35 le DSP est amené à effectuer des divisions ou encore des multiplications. Par exemple, pour calculer des coefficients de correction dans un décodeur de type Reed-Solomon, il est nécessaire de calculer des rapports ou des produits d'un premier nombre avec un deuxième nombre codés sur N bits et qui sont des nombres calculés par le DSP et pouvant avoir des valeurs quelconques. Pour ce faire, le procédé de calcul du résultat d'opération de division ou de multiplication, dans le corps de Galois de CG(2") à 2" éléments, du premier nombre par le deuxième nombre comprend donc une étape préalable de génération dans les moyens de mémoire du DSP d'une table étendue des « Valeurs » V comportant une pluralité de valeurs Val binaires en correspondance avec une pluralité d'exposants Exp, et d'une table étendue des « exposants » E comportant une pluralité de d'exposants Exp en correspondance avec une pluralité de valeurs Val binaires. Lors d'une étape de calcul du résultat de l'opération de multiplication dans le corps de Galois, l'algorithme est exécuté par le DSP de sorte à générer des instructions visant à : - déterminer, dans la table étendue des « Valeurs » V, deux exposants Exp en fonction du premier nombre et du deuxième nombre, - réaliser une somme SOM à partir des deux exposants Exp déterminés, - identifier, dans la table étendue des « Exposants » E, une valeur correspondant au résultat de cette somme SOM. Cette valeur identifiée constitue le résultat de la multiplication. Lors d'une étape de calcul pour la réalisation d'une opération de division dans 20 le corps de Gallois, l'algorithme est exécuté par le DSP de sorte à générer des instructions visant à : - déterminer, dans la table étendue des « Valeurs » V, deux exposants Exp en fonction du premier nombre et du deuxième nombre, - réaliser une soustraction SUB à partir des deux exposants Exp déterminés; 25 - identifier, dans la table étendue des « Exposants » E, d'une valeur correspondant au résultat de cette soustraction SUB. Cette valeur identifiée constitue le résultat de la division. Les tables étendues des « Valeurs » V et des « Exposants » E sont particulières en ce qu'elles comportent des extensions afin d'éviter les traitements 30 supplémentaires liés aux dépassements d'indice. De plus la valeur nulle est affectée d'un exposant judicieusement choisi de manière à ce qu'elle soit traitée comme une valeur ordinaire. Un exemple de tables étendues des « Valeurs » V et des « Exposants » E stockées dans la mémoire du DSP comportant une extension est illustré à la figure 1. 35 Dans cet exemple on considère le cas d'une extension (i = 1, i étant l'indice du nombre d'extensions réalisées) de CG(2) vers CG(23) à l'aide du polynôme primitif x3 + x + 1 à coefficients dans CG(2) conformément à la table ci-dessous donnant les valeurs binaires associées aux puissances de la racine a du polynôme primitif P(X) générateur du corps de Galois CG(23) : Elements de Valeurs binaires CG(23) associées 0 000 a o 001 a 1 010 a2 100 a3 011 a4 110 as 111 a6 101 Dans l'exemple des tables étendues V et E illustrées en figure 1, lesdites 5 tables sont construites à partir des moyens de traitement du DSP sur la base de tables d'origine des « Valeurs » et des « Exposants » avant extension qui sont illustrées ci-après : Valeur Exposant (binaire) 001 0 010 1 011 3 100 2 101 6 110 4 111 5 Table d'origine des « Valeurs » Exposant Valeur (binaire) 0 001 1 010 2 100 3 011 4 110 111 6 101 Table d'origine des « Exposants » La table d'origine des « Valeurs » ci-dessus reprend les valeurs binaires associées, classées par ordre croissant, de 001 à 111. A chaque valeur binaire associée, on reporte dans la colonne « Exposant » la valeur de l'exposant de la racine a du polynôme primitif P(x). Par exemple, a5 est associé à 111, ce qui implique que le chiffre 5, valeur de l'exposant de a, est associé à 111. La table d'origine des « Exposants » reprend les mêmes informations que la table d'origine des « Valeurs », mais le classement est ici réalisé par ordre croissant des exposants et non par ordre croissant des valeurs binaires. On peut utiliser ces tables d'origine pour effectuer une multiplication ou une division, comme nous allons l'expliquer maintenant : Supposons que 010 soit à multiplier par 110. En se reportant à la table d'origine des « Valeurs », à 010 est associé 5 l'exposant 1 et à 110 est associé l'exposant 4. La somme de ces deux exposants donne la valeur 5. Cette valeur 5, en se reportant à la table d'origine des « Exposants », est associée à la valeur binaire 111. On a donc 010 x 110 = 111. Si on souhaite maintenant multiplier 011 par 111, la même démarche que 10 précédemment donne une valeur somme des exposants égale à 8. Or 8 n'est pas dans la table d'origine des « Exposants » et il faut donc le ramener dans l'intervalle initial [0, 2N-1]= [0, 7] par application de la règle caractéristique (1) rappelée plus haut (i' = i mod (2N-1)) et ainsi ramener la somme à 1 (puisque 8 = 7 + 1). 15 On trouve alors que 011 x 111 = 010. Dans un DSP sans « accélérateur de Galois », faire des calculs de modulo est coûteux en cycles machines (MIPS). On peut remplacer le calcul de modulo par des tests conditionnels du type « IF... THEN... ELSE » mais ils sont tout aussi coûteux en MIPS. 20 L'invention se propose de simplifier les calculs de modulo en permettant une lecture simple et directe dans des tables étendues de manière particulière et qui permettent la prise en compte des divisions et multiplications tout en prenant en compte la valeur zéro. La table étendue des « Exposants » E illustrée à la figure 1 reprend dans sa 25 partie centrale (entourée en gras) la table d'origine des « Exposants » introduite plus haut. Elle comporte en outre une zone 3 permettant la prise en compte de la multiplication. La zone 3 est obtenue par recopie des valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la dernière. La table est alors étendue de 2N - 2 lignes (ici de 23 - 2 = 8 - 2 = 6). 30 Les valeurs des exposants Exp sont incrémentées et la zone 3 va ainsi de 7 à 12 pour les valeurs des exposants Exp. Une table étendue de la sorte permet de prendre en compte la multiplication de deux nombres dans le corps de Galois CG(23). La zone 2 de la table étendue des « Exposants » E illustrée à la figure 1 35 permet la prise en compte de la division. Elle est obtenue par recopie des valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la première, en les insérant avant la première ligne initiale (exposant = 0 / valeur binaire = 001). La table est alors étendue de 2" - 2 lignes. Les valeurs des exposants Exp sont décrémentées et la zone 2 va ainsi de -1 5 à -6 pour les valeurs des exposants Exp. Une table étendue de la sorte permet de prendre en compte la division de deux nombres dans le corps de Galois CG(23). La zone 1 permet le codage et la prise en charge d'un exposant pour une valeur nulle. Cette zone est également présente dans la table étendue des « Valeurs » V. 10 La valeur de l'exposant Exp de la zone 1 de la table étendue des « Valeurs » V est déterminée en soustrayant la valeur de l'exposant Exp le plus grand de la zone 3 (dans l'exemple illustré à la figure 1 la valeur est de 12) avec la valeur de l'exposant Exp le plus petit de la zone 2 (dans l'exemple illustré à la figure 1 la valeur est de - 6), puis on ajoute 1. 15 Dans notre exemple cela donne 12 - (- 6) + 1 = 19. Cette valeur est alors la valeur de l'exposant Exp associé à la valeur binaire zéro. Concernant la table étendue des « Exposants » E, les valeurs d'exposants Exp suivant immédiatement la zone 3 et allant jusqu'à 2 fois la valeur 20 précédemment calculée pour l'exposant Exp de la valeur zéro de la table étendue des « Valeurs » V doivent être affectées de la valeur binaire nulle. Dans notre exemple cela fixe à zéro toutes les valeurs binaires associées aux exposants Exp allant de 13 à 38 = 2 x 19. Dans un autre mode de réalisation, il est possible d'étendre les tables 25 étendues des « Valeurs» V et des « Exposants » E afin de réaliser plusieurs opérations successives dans le corps de Gallois relatives à des multiplications et/ou divisions. Dans l'exemple de tables illustrées en figure 2, il est présenté une double extension (i = 2), en partant des tables d'origines des « valeurs » et des « exposants » mentionnées précédemment. On retrouve dans ces tables les zones 1 à 3 mentionnées 30 précédemment en plus de zones 10 et 11 issues de cette double extension permettant respectivement la prise en compte de la multiplication et de la division. Cette double extension est détaillée ci-après. La table étendue des « Exposants » E illustrée à la figure 2 reprend dans sa partie centrale (entourée en gras) la table d'origine des « Exposants » introduite plus haut. 35 Elle comporte en outre une zone 3 permettant la prise en compte de la multiplication. La zone 3 est obtenue par recopie des 2" - 1 dernières valeurs (ici de 23 - 1 = 8 - 1 = 7) comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la dernière. La table est alors étendue de 2" - 2 lignes. Les valeurs des exposants Exp sont incrémentées. La valeur maximale des exposants Exp dans La table étendue des « Exposants » E ainsi étendue est alors 12 et la valeur binaire associée Val est 111. La zone 10 est obtenue par recopie des 2" - 1 dernières valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la dernière. Les valeurs des exposants Exp sont incrémentées. La valeur maximale des exposants Exp dans La table étendue des « Exposants » E ainsi étendue est alors 18 et la valeur binaire associée Val est 110. Une table étendue de la sorte permet de prendre en compte deux multiplications successives dans le corps de Galois CG(23). La zone 2 de la table étendue des « Exposants » E illustrée à la figure 2 permet la prise en compte de la division. Elle est obtenue par recopie des 2" - 1 dernières valeurs (ici de 23 - 1 = 8 - 1 = 7) comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la première, en les insérant avant la première ligne initiale (exposant = 0 / valeur binaire = 001). La table est alors étendue de 2" - 2 lignes. Les valeurs des exposants Exp sont décrémentées et la zone 2 va ainsi de -1 à -6 pour les valeurs des exposants Exp. La valeur minimale des exposants Exp dans La table étendue des « Exposants » E ainsi étendue est alors -6 et la valeur binaire associée Val est 010. La zone 11 est obtenue par recopie des 2" - 1 dernières valeurs comprises dans la colonne valeur binaire de la table étendue des « Exposants » E, exceptée la première. La table est alors étendue de 2" - 2 lignes. Les valeurs des exposants Exp sont décrémentées et la zone 11 va ainsi 30 de -7 à -12 pour les valeurs des exposants Exp. La valeur minimale des exposants Exp dans La table étendue des « Exposants » E ainsi étendue est alors -12 et la valeur binaire associée Val est 100. Une table étendue de la sorte permet de prendre en compte deux divisions successives dans le corps de Galois CG(23). 35 La zone 1 permet le codage et la prise en charge d'un exposant pour une valeur nulle. Cette zone est également présente dans la table étendue des « Valeurs » V. La valeur de l'exposant de la zone 1 de la table étendue des « Valeurs » V est déterminée en soustrayant la valeur de l'exposant Exp le plus grand de la zone 10 (dans l'exemple illustré à la figure 2 la valeur est de 18) avec la valeur de l'exposant Exp le plus petit de la zone 11 (dans l'exemple illustré à la figure 2 la valeur est de - 12), puis on ajoute 1. Dans notre exemple cela donne 18 - (- 12) + 1 = 31. Cette valeur est alors la valeur de l'exposant Exp associé à la valeur binaire zéro. Concernant la table étendue des « Exposants » E, les valeurs 10 d'exposants Exp suivant immédiatement la zone 10 et allant jusqu'à 2 fois la valeur précédemment calculée pour l'exposant Exp de la valeur zéro de la table étendue des « Valeurs » V doivent être affectées de la valeur binaire nulle. Dans notre exemple cela fixe à zéro toutes les valeurs binaires Val associées aux exposants Exp allant de 19 à 62 = 2 x 31. 15 Lorsque ces tables sont mises en oeuvre par l'algorithme exécuté par le DSP dans le cadre de la réalisation d'opérations, il n'y a plus de réalisation de traitements supplémentaires dans les cas de dépassement d'exposant lors de multiplications ou de divisions. Avantageusement, il est également possible de gérer la valeur zéro sans 20 traitements supplémentaires. En outre, la réalisation d'une combinaison de n (avec n 2) divisions et m (avec m 2) multiplications est réalisée sans nécessiter de repasser par la table des « Valeurs ». L'ordre des opérations n'ayant bien entendu pas d'importance. Dès lors on comprend bien que l'on peut ainsi de proche en proche étendre 25 ces tables afin d'augmenter le nombre de combinaisons possibles pour la réalisation de multiplications multiples ainsi que de divisions multiples. Dans ce mode de réalisation, l'invention se rapporte alors à un procédé pour calculer le résultat d'opérations dans le corps de Galois CG(2") à 2" éléments, avec i extensions de CG(2) à l'aide d'un polynôme primitif P(x) à coefficients dans CG(2), 30 générateur de cette extension. On comprend bien que l'algorithme mis en oeuvre par ce DSP est apte, à partir des tables étendues de « Valeurs » V et des « Exposants » E, à réaliser des opérations de multiplication ou de division dans le corps de Gallois en supprimant les traitements supplémentaires évoqués précédemment. En effet dans les DSP de l'art 35 antérieur, pour connaitre le résultat d'une multiplication ou d'une division il est nécessaire d'exécuter des calculs supplémentaires afin de traiter le dépassement d'exposant (calcul de modulo, tests de type « IF ... THEN... ELSE »...). De plus la valeur zéro nécessite un traitement particulier car il n'existe pas de valeur élevée à une puissance qui donne la valeur nulle (dit autrement zéro n'a pas d'exposant). La valeur zéro est donc stockée dans aucune des deux tables. Ces deux inconvénients ayant pour conséquences que toutes les ressources du DSP sont utilisées au détriment de celles qui auraient pu être allouées pour la réalisation d'autres tâches. Ainsi, il est entendu que l'invention n'est pas limitée aux exemples de réalisation décrits et illustrés. Elle n'est en outre pas limitée à ces exemples d'exécution et aux variantes décrites. En effet elle peut s'appliquer à tous les domaines pour lesquels il est nécessaire de faire des opérations dans le corps de Galois. REVENDICATIONS1. Procédé pour calculer le résultat (9) d'opérations, dans un corps de Galois CG(2") avec 2" éléments, d'un premier nombre par un deuxième nombre, ces nombres étant codés sur N bits, caractérisé en ce qu'il comprend : - une étape préalable de génération dans les moyens de mémoire d'un processeur de traitement numérique de signal : - d'une table étendue des « Valeurs » (V) comportant une pluralité de valeurs binaires (Val) en correspondance avec une pluralité d'exposants (Exp) ; - d'une table étendue des « Exposants » (E) comportant une pluralité d'exposants (Exp) en correspondance avec une pluralité de valeurs binaires (Val) ; - une étape d'exécution d'un algorithme visant à déterminer dans la table étendue des « Valeurs » (V) deux exposants (Exp) en fonction du premier nombre et du deuxième nombre, - une étape de calcul d'un premier résultat à partir des deux exposants (Exp) déterminés; - une étape d'indentification dans la table étendue des « Exposants » (E) d'une valeur correspondant au premier résultat. 2. Procédé selon la revendication 1, caractérisé en que ladite opération est une multiplication ou une division. 3. Procédé selon la revendication précédente, caractérisé en ce que ladite étape de calcul correspond à une somme lorsque l'opération se rapporte à une multiplication. 4. Procédé selon la revendication 2, caractérisé en ce que ladite étape de calcul correspond à une soustraction lorsque l'opération se rapporte à une division. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que lesdites tables étendues comportent des zones permettant : - la prise en compte de la multiplication (3, 10); - la prise en compte de la division (2, 11), et - le codage d'un exposant (Exp) pour une valeur nulle (1) 6. Procédé selon la revendication 5, caractérisé en ce que la prise en compte de la multiplication est réalisée au cours des étapes suivantes : - se positionner sur la dernière ligne de la table étendue des « Exposants » (E), - recopier dans la table étendue des « Exposants » (E) les 2" - 1 dernières valeurs comprises dans la colonne valeur binaire (Val) de la table étendue des « Exposants » E, exceptée la dernière et créer 2" - 2 nouvelles lignes, - incrémenter les valeurs des exposants (Exp) d'autant que de lignes créées, - répéter les étapes précédentes autant de fois (i) qu'il est nécessaire de prévoir des multiplications. 7. Procédé selon la revendication 5, caractérisé en ce que la prise en compte de la division est réalisée au cours des étapes suivantes : - se positionner sur la première ligne de la table étendue des « Exposants » (E), - insérer 2" - 2 lignes en recopiant dans la table étendue des « Exposants » (E) les 2" - 1 premières valeurs comprises dans la colonne valeur binaire (Val) de la table étendue des « Exposants » E, exceptée la première, - décrémenter les valeurs des exposants (Exp) d'autant que de lignes créées, - répéter les étapes précédentes autant de fois (i) qu'il est nécessaire de prévoir des divisions. 8. Procédé selon la revendication 5, caractérisé en ce que le codage d'un exposant (Exp) pour une valeur nulle (1) est réalisé au cours des étapes suivantes : - se positionner sur la première ligne de la table étendue des « Valeurs » (V), - insérer une ligne dont la valeur binaire (Val) est 000 et l'exposant (Exp) est égal à la soustraction de la valeur minimale des exposants (Exp) de la table étendue des « Exposants » (E) à la valeur maximale des exposants (Exp) de la table étendue des « Exposants » (E), augmentée de la valeur 1. - se positionner sur la dernière ligne de la table étendue des « Exposants » (E), - retenir la valeur 000 pour les exposants (Exp) supérieurs à l'exposant (Exp) maximum des exposants (Exp) de la table étendue des « Exposants » (E) et inférieurs à deux fois la valeur de l'exposant (Exp) associé à la valeur 000 dans la table étendue des « Valeurs » (V). 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que les valeurs binaires (Val) sont des valeurs d'octets. 10. Processeur de traitement numérique de signal paramétrable, susceptible de réaliser le codage et/ou le décodage des codes correcteurs et détecteurs d'erreurs Reed-Solomon à partir de la mise en oeuvre du procédé selon les revendications 1 à 9.