Brevet FR2809835A1 — publié le 20011207

La présente invention concerne d'une manière générale des circuits numériques et des processeurs et plus particulièrement un système et un procédé d'arrondissement basé sur une sélection, servant à éliminer le besoin d'une opération d'arrondissement ultérieure basée un incrément lors d'opérations arithmétiques à virgule flottante (FP). L'élimination de l'opération ultérieure d arrondissement basé sur un incrément augmente fortement la vitesse. Bien qu'ils ne soient pas limités à cette application particulière, le système et le procédé arron dissement basé sur une sélection selon l'invention sont particulièrement approprié pour être mis en oeuvre en liaison avec un additionneur à multiplication liée et à virgule flottante d'un microprocesseur à puce à hautes performances ou d'un autre circuit numérique. Habituellement, de nombreuses opérations arithmétiques exécutées dans des formes de réalisation actuelles de microprocesseurs sont accélérées grâce à 1 utilisation d'un processeur à virgule flottante sur puce, qui exécute des opérations mathématiques à virgule flottante (c'est-à-dire des opérations mathématiques appliquant une opération sur des expressions comprenant un nombre significatif et un exposant, la valeur de chaque exposant étant égale à sa base multipliée par 2exposant), façon typique sur des nombres très élevés. Ces processeurs à virgule flottante peuvent inclure un additionneur à multiplication liée permettant d'accroître performance d'exécution des opérations à virgule flottante. Les additionneurs à multiplication liée sont bien connus dans la technique. Dans un additionneur typique à multiplication liée, deux opérandes par exemple A et sont multipliés l'un par l'autre et ajoutés à un autre opérande C de sorte que le résultat obtenu est R=A*B+C ou R=A*B-C. D'une manière générale, dans le circuit, les opérandes A et B sont tout d'abord multipliés entre eux, tandis que l'autre opérande C est décalé, puis le produit de par B est ajouté à l'opérande C décalé. Ensuite la somme est normalisée au moyen d'une opération de décalage, et finalement la somme décalée est arrondie. Comme dans de nombreuses opérations à virgule flottante, il est fréquemment nécessaire qu'un résultat une opération à virgule flottante soit arrondi. norme IEEE et d'autres normes industrielles spécifient différents types de processus d'arrondissement, par exemple 'arrondissement à zéro, l'arrondissement au nombre plus proche, l'arrondissement sur l'infini négatif et l'arrondissement sur l'infini positif. Le calcul indiquant si le nombre à virgule flottante résultant doit être ou non arrondi, et le processus d'arrondissement lui-même peuvent réduire d'une manière indésirable la performance et affecter de façon indésirable la complexité du matériel de l'additionneur à multiplication liée. Le résultat R est délivré sous une forme qui n'est pas incrémentée ou qui est incrémentée, pour satisfaire à l'exigence d'arrondissement. Par exemple, s'il existe une exigence d'arrondissement à zéro ou d'arrondis sement sur l'infini négatif, alors le résultat non incrémenté R est délivré. S'il existe une exigence d'arron dissement sur l'infini positif, alors le résultat incrémenté R est délivré. En outre si l'exigence d'arron dissement est un arrondissement sur la valeur la plus proche, alors le résultat incrémenté ou non incrémenté R est délivré. Pour expliquer d'une manière plus spécifique le processus d'arrondissement/d'incrémentation, on considère un exemple d'un additionneur à multiplication liée et à virgule flottante, avec des possibilités d'arrondissement, illustré sur la figure 1 annexée à la présente demande et désigné d'une manière générale par le chiffre de référence 5. additionneur à multiplication liée 5 de la figure 1 est conçu pour traiter les parties constituant la base (partie ne concernant pas l'exposant) de nombres virgule flottante. Comme cela est bien connu dans la technique, les parties formant exposants de tels nombres à virgule flottante sont traitées séparément des parties formant la base, et un tel traitement n'est pas décrit ici à titre de simplification. Comme cela est représenté sur la figure 1, l'additionneur à multiplication liée 5 comprend un multiplicateur 11 qui reçoit et multiplie deux nombres A, B (par exemple de chacun 64 bits). Le dispositif de décalage 12 décale l'opérande C d'une valeur prédéterminée pour le normaliser par rapport au produit mathématique de A par B et permettre ainsi que cet opérande soit combiné de façon appropriée au produit de A par B, à un instant ultérieur. Les signaux de sortie de somme et de report (par exemple de chacun 128 bits) du multiplicateur 11 et le signal de sortie du dispositif de décalage 12 sont introduits dans l'additionneur à sauvegarde de report 13, dont l'agencement et le fonctionnement sont bien connus dans la technique. Les données de somme et de report provenant du multiplicateur 11 sont envoyées à l'addition- neur à sauvegarde de report 13 respectivement en tant que nombre à additionner et premier terme. Le signal d'entrée provenant du dispositif de décalage 12 est considéré comme étant le report entrant provenant d'un étage de valeur plus faible de l'additionneur 5 à multiplication liée et à virgule flottante. L'additionneur de sauvegarde de report 13 produit un signal de sortie somme et un signal de sortie de report. Les deux signaux de sortie de somme et de report sont envoyés à un additionneur à propagation de report 14 et un dispositif 15 d'anticipation du bit de tête. L'additionneur à propagation de report 14 combine les signaux de sortie de somme et de report provenant de l'additionneur de sauvegarde de report 13 pour produire un nombre à virgule flottante, qui est introduit dans le dispositif de décalage 16. L'agencement et fonctionnement d'un additionneur à propagation de report sont également bien connus dans la technique. Le dispositif 15 d'anticipation du bit de tête calcule un nombre de décalages, qui est égal au nombre bits significatifs devant être décalés pour éliminer les zéros de tête dans le nombre à virgule flottante produit par l'additionneur à sauvegarde de report 13. Le dispositif 15 d'anticipation du bit de tête calcule également nombre de décalages dans une direction particulière. Ceci exécuté pour déterminer la normalisation des signaux sortie de somme et de report de l'additionneur à sauvegarde report 13 pour des opérations d'addition, soustraction, de multiplication ou de division. Un exemple l'une des nombreuses architectures possibles pour dispositif 15 d'anticipation du bit de tête est décrit dans brevet US N 5 798 952 au nom de Miller et al. Le nombre de décalages produits par le dispositif d'anticipation du bit de tête est envoyé au dispositif de décalage 16. Le dispositif de décalage 16 exécute alors une opération de décalage sur le nombre à virgule flottante. Le nombre à virgule flottante est décalé d'un certain nombre de bits égal au nombre de décalages produit le dispositif 15 d'anticipation du bit de tête. dispositif de décalage 16 exécute l'opération de décalage nombre à virgule flottante vers la droite ou vers gauche alternativement comme cela est commandé par nombre de décalages. Ceci a pour but de supprimer les zéros de tête du nombre à virgule flottante (c'est-à-dire ceci normalise le nombre à virgule flottante résultant). Le nombre à virgule flottante normalisé résultant est introduit dans le dispositif d'incrémentation 17, dans la logique d'arrondissement 18 et dans le multiplexeur (MUX) 19. dispositif d'incrémentation 17 incrémente le nombre à virgule flottante normalisé pour produire un nombre à virgule flottante normalisé incrémenté. Le dispositif d'incrémentation 17 introduit le nombre à virgule flottante normalisé incrémenté dans multiplexeur MUX 19. logique d'arrondissement 18 détermine si le nombre normalisé délivré par le dispositif décalage 16 requiert une opération d'arrondissement et type basé sur l'examen de bits de garde, de bits d'arrondi et de bits accolés, qui sont associés au signal de sortie délivré par le dispositif de décalage 16. La logique arrondissement 18 commande le multiplexeur MUX 19 pour qu'il sélectionne soit le nombre non incrémenté, soit le nombre incrémenté pour délivrer le signal de sortie ultime délivré par l'additionneur 5 à multiplication liée et à virgule flottante. Un problème majeur qui se pose avec l'architec ture d'arrondissement pour un additionneur classique à multiplication liée à virgule flottante, réside dans le fait que, avant que le nombre résultant d' opération à virgule flottante soit normalisé, il est très difficile, voire impossible, de déterminer si le résultat normalisé requiert un arrondissement. Etant donné que l'incrémenta- tion d'un résultat d'une opération à virgule flottante est exécutée après la normalisation, une durée supplémentaire est nécessaire pour achever l'opération à virgule flottante. En outre, le dispositif d'incrémentation présente un inconvénient étant donné qu'il peut additionner de nombreux retards indésirables dans des portes, c'est-à- dire au moins 1092 N de retards dans des portes, N étant le nombre de bits. Les deux considérations faites précédemment compromettent fortement la performance de l'additionneur 5 à multiplication liée. C'est pourquoi, il existe dans l'industrie un besoin non encore traité jusqu'alors de disposer d'un moyen pour traiter les défauts et difficultés mentionnés précédemment et notamment de disposer un moyen pour effectuer l'opération d'arrondissement ou d'incrémentation dans un additionneur à multiplication liée 5. La presente invention fournit un système et un procédé d'arrondissement basés sur une sélection pour éliminer la nécessité d'un arrondissement ultérieur basé sur un incrément dans des opérations arithmétiques à virgule flottante. La suppression de l'opération ultérieure d'arrondissement basée sur un incrément augmente fortement la vitesse. Bien qu'ils ne soient pas limités à cette application particulière, le système et le procédé arron dissement basés sur une sélection selon l'invention sont particulièrement appropriés pour être mis en oeuvre en liaison avec additionneur à multiplication liee et à virgule flottante d'un microprocesseur sur puce d'un autre circuit numérique à hautes performances. D' manière générale, dans un additionneur à multiplication liée et à virgule flottante, qui utilise le système d'arrondissement basé sur une sélection, un résultat incrémenté et un résultat incrémenté sont produits essentiellement simultanément, en parallèle, et l'un ou l'autre de ces résultats est sélectionné en tant que résultat arrondi, sur la base de critères d'arrondisse ment spécifiés, ce qui supprime la nécessité d'utiliser un dispositif d'incrémentation pour réaliser un arrondissement au niveau ou près de l'extrémité de l'additionneur à multiplication liée et à virgule flottante. Une forme de réalisation spécifique (censée être un exemple non limitatif; d'autres formes de réalisation sont possibles) de l'additionneur à multiplication liée qui utilise le système d'arrondissement basé sur une sélection comprend : (1) un multiplicateur conçu pour combiner des premier et second opérandes A, B pour former un produit; (2) un premier dispositif de décalage conçu pour décaler un troisieme opérande C de telle sorte que troisième opérande peut être combiné au produit; (3) un additionneur à sauvegarde de report conçu pour combiner le produit et le troisieme opérande décalé pour former une premiere somme et un premier report; (4) un dispositif (LBA) d'anticipation de bits de tête conçu pour déterminer un emplacement de bits tête approximatif dans la première somme et produire un mot LBA qui définit approximativement dans une position binaire de poids minimum de la première somme; (5) un premier additionneur à propagation de report conçu pour combiner la première somme et le premier report pour produire le résultat; (6) un second additionneur à propagation de report conçu pour combiner le mot du dispositif LBA à la première somme et au premier report pour produire un résultat incrémenté approximatif; (7) un second dispositif de décalage conçu pour normaliser le résultat incrémenté; (8) un troisième dispositif de décalage conçu pour normaliser le résultat incrémenté approximatif; (9) un mécanisme de détermination du bit de poids minimum conçu pour convertir le résultat incrémenté approximatif en un résultat incrémenté précis; (10) un multiplicateur MUX conçu pour recevoir le resultat non incrémenté et le résultat incrémenté précis; (11) une logique d'arrondissement conçue pour sélectionner le résultat non incrémenté et sélectionner résultat incrémenté précis, à savoir seul l'un des deux à la fois, par commande du multiplexeur MUX, sur la base d'indices d'arrondissement associés au résultat non incrémenté. Le résultat est R=A*B+C ou R=A*B-C. La présente invention peut être également considérée comme fournissant un ou plusieurs procédés. Un tel procédé peut être conçu dans une large mesure en tant que procédé pour un additionneur à multiplication liée et à virgule flottante, mettant en oeuvre les étapes suivantes calcul en parallèle d'un résultat non incrémenté et d'un résultat incrémenté, et sélection du résultat non incrémenté ou du résultat incrémenté en tant que nombre arrondi à virgule flottante. Selon une autre caractéristique de 'invention, le procédé comprend en outre les étapes consistant à normaliser ledit résultat non incrémenté et ledit résultat incrémenté avant ladite étape de sélection, et empêcher l'exécution d'une étape d'incrémentation après ladite étape de normalisation. Selon une autre caractéristique de 'invention, le procédé comporte en outre l'étape consistant à incrémenter ledit résultat incrémenté avant la normalisation dudit résultat non incrémente et dudit résultat incrémenté, et après ladite étape d'incrémentation normaliser ledit résultat non incrémenté et ledit résultat incrémenté. Selon une autre caractéristique de l'invention, pendant ladite étape de normalisation, ledit résultat non incrémenté et ledit résultat incrémenté sont normalisés essentiellement simultanément dans des dispositifs de decalage parallèles. Selon une autre caractéristique de l'invention, ledit résultat non incrémenté et ledit résultat incrémenté sont normalisés successivement moyennant l'utilisation d'un seul dispositif de décalage. Selon une autre caractéristique de l'invention, procédé comporte en outre l'étape consistant à communiquer ledit résultat non incrémenté et ledit résultat incrémenté d'une manière auto-synchronisée, par 'intermédiaire dudit dispositif de décalage unique. Selon une autre caractéristique de l'invention, le procédé comprend en outre les étapes consistant à calculer un résultat incrémenté approximatif, analyser ledit résultat non incrémenté et ledit résultat incrémenté approximatif pour produire un résultat incrémenté précis, et ladite étape de sélection impliquant une sélection entre ledit résultat non incrémenté et ledit résultat incrémenté précis. Selon une autre caractéristique de l'invention, le procédé comporte en outre les étapes consistant ' . combiner des premier et second opérandes pour former un produit, décaler un troisième opérande de telle sorte que ledit troisième opérande peut être combiné audit produit, combiner ledit produit et ledit troisième opérande décalé pour produire une première somme et un premier report, déterminer un emplacement de bit tête approximatif dans ladite première somme, produire un mot de dispositif d'anticipation du bit de tete qui, lorsqu'il est décalé, définit un un approximativement dans une position de bit moins significatif de ladite première somme, combiner ladite première somme et ledit premier report pour produire ledit résultat, combiner ledit mot de dispositif d'anticipation du bit tête décalé à ladite première somme audit premier report pour produire un résultat incrémenté approximatif, normaliser ledit résultat non incrémenté, normaliser ledit résultat incrémenté approxima tif, analyser ledit résultat non incrémenté ledit résultat incrémenté approximatif pour produire un résultat incrémenté précis, et sélectionner ledit résultat non incrémenté ou ledit resultat incrémenté précis, sur la base de l'arrondissement d'indices associés audit résultat non incrémenté. L'invention a trait en outre à un additionneur à multiplication liée et à virgule flottante, caractérisé en ce qu'il est agencé pour calculer en parallèle un résultat non incrémenté et un résultat incrémenté et pour sélectionner ledit résultat non incrémenté ou ledit résultat incrémenté en tant que nombre arrondi à virgule flottante. outre l'invention concerne un processeur qui utilise l'additionneur à multiplication liée et à virgule flottante mentionné précédemment. autres caractéristiques et avantages de la présente invention ressortiront de la description donnée ci-après prise en référence aux dessins annexés, sur lesquels composants ne sont pas représentés nécessairement à l'échelle, l'accent étant mis sur 'illus tration claire des principes de la présente invention, et en outre chiffres de référence identiques désignent des parties correspondantes sur l'ensemble vues représentées sur les dessins, sur lesquels - la figure 1, dont il a déjà été fait mention, est un schéma-bloc d'un additionneur à multiplication liée de l'art antérieur, qui utilise, de façon indésirable, un système d'arrondissement aval basé sur un incrément la figure 2 est un schéma-bloc d'un microprocesseur utilisant le système d'arrondissement basé sur une sélection selon la présente invention; la figure 3 est un schéma-bloc d'une première forme de réalisation d'un additionneur à multiplication liée et a virgule flottante, qui utilise le système d'arrondissement basé sur une sélection, représenté sur la figure 2; - la figure 4A est un schéma mathématique illustrant un procédé d'incrémentation idéale; - la figure 4B est un schéma mathématique illustrant un processus d'incrémentation approximative qui est mis en oeuvre collectivement par le dispositif de d'anticipation du bit de tête et d'un additionneur à propagation de report, est associé à la sélection basée sur le système d'arrondissement des figures 2 et 3; - la figure est un schéma-bloc du mécanisme de détermination du bit de poids minimum de la figure 3; - la figure 4D est une table de vérité qui représente la logique mise en oeuvre par le mécanisme de détermination du bit poids minimum des figures 3 et 4C; et - la figure est un schéma-bloc d'une seconde forme de réalisation d' additionneur à multiplication liée et à virgule flottante, qui utilise le système d'arrondissement basé sur sélection de la figure 2. Le système et ou les procédés d'arrondissement basés sur une sélection selon la présente invention peuvent être mis en oeuvre dans n'importe quel additionneur à multiplication liée pour des nombres à virgule flottante. En outre l'additionneur a multiplication liée peut être mis en oeuvre dans n'importe quel processeur (par exemple un microprocesseur sur puce, etc.) ou dans un autre circuit numérique approprié, l'un ou l'autre pouvant être réalisé dans n'importe quel ordinateur (par exemple un ordinateur personnel, un poste travail, etc.) ou un autre dispositif numérique approprié. La figure 2 représente un schéma-bloc d'un processeur 21 comportant un ou des additionneurs 39 à multiplication liée, qui utilisent le système 20 (et un ou des procédés) d'arrondissement basé sur une sélection selon la présente invention. A 'exception du système 20 d'arron dissement basé sur une sélection lui-même, tous les éléments indiqués ci-après sont bien connus et bien compris dans la technique, et à titre de simplification, on va donner seulement une brève explication des fonctions qui leur sont associées. Le processeur 21 peut être par exemple, sans y être limité, une microplaquette de microprocesseur fabriquée conformément à techniques de fabrication bien connues. Comme cela est représenté sur la figure dans son architecture, le processeur 21 inclut une interface de bus 23 conçue de manière a communiquer des adresses 24a et des données 24b. Une unité de mémoire de charge assume la fonction de gestion l'échange de données entre un dispositif distant (non représenté à titre de simplification; par exemple une mémoire un dispositif d'entrée/sortie (I/0), etc.) et le processeur 21. Autrement dit, l'unité de mémorisation de charge 26 est conçue de manière à charger et mémoriser des données dans un fichier de registres de nombres entiers 29, un fichier de registres à virgule flottante 33 et le dispositif distant. Une unité arithmétique et logique (ALU) 35 accède au fichier de registres de nombres entiers 29 (c'est-à-dire effectue une lecture une écriture dans ce fichier) et exécute les opérations mathématiques sur des nombres entiers. Une unité d'accumulation à multiplication et à virgule flottante (FMAC) accède au fichier de registres à virgule flottante 33 et applique les opérations mathématiques à des nombres à virgule flottante. L'unité FMAC peut utiliser un ou plusieurs additionneurs à multiplication liée 39, qui peuvent mettre en oeuvre le système d'arrondissement basé sur une sélection 20 selon la présente invention. A. Première forme de réalisation de l'addition- neur à multiplication liée Sur la figure 3 on a représente une première forme de réalisation (un exemple non limitatif possible) d'un additionneur à multiplication liée et à virgule flottante, désigné d'une manière générale le chiffre de référence 50, qui utilise le système d'arrondissement basé sur une sélection 20 (figure 2) selon la présente invention. L'addition à multiplication liee 50 (ainsi que la seconde forme de réalisation sur la figure 4) est conçu de manière à agir sur les parties formant base (partie n'est l'exposant) de nombres à virgule flottante, dans un processeur ou un autre circuit numérique. Dans l'additionneur à multiplication liée deux opérandes, par exemple A et B, sont multipliés entre eux sont ajoutés à un autre opérande C de sorte qu on obtient le résultat R=A*B+C ou le résultat R=A*B-C. La soustraction de C est effectuée essentiellement par prise du complément à 2 de C et addition de ce complément au produit A*B. En outre le résultat R est délivré sous forme ' est non incrémentée ou qui est incrémentée, de manière à satisfaire à une exigence d'arrondissement. Par exemple, s'il existe une exigence d'arrondissement soit sur zéro, soit sur l'infini négatif, alors le résultat non incrementé est délivré. S'il existe une exigence d'arron dissement sur l'infini positif, alors le résultat incrémenté est délivré. Enfin, s'il existe une exigence d'arrondissement sur la valeur la plus proche, le résultat non incrémenté ou le résultat incrémenté est alors délivré. Pour comparer aisément la performance de l'addi- tionneur à multiplication liée 50 de la figure 3 à celle de l'additionneur à multiplication liée 5 de l'art antérieur (figure 1), l'additionneur à multiplication liée 50 est fragmenté ou divisé en sections de cadencement, qui incluent des opérations logiques apparaissant en gros pendant la même période de cadencement. En soi, chacune des sections de cadencement correspond à un ou plusieurs retards de portes logiques. Comme on peut le voir sur la figure 3, l'additionneur à multiplication liée et à virgule flottante 50 est fragmenté ou divisé en cinq sections de cadencement. Dans les cas où une pluralité de logiques se situent dans la même période de cadencement, lesdites opérations logiques sont exécutées approximativement simultanément. Comme cela ressort à l'évidence sur la base de la comparaison des sections de cadencement de l'additionneur 50 de la figure 3, qui utilise le système d'arrondissement basé sur une sélection 20 (figure 2), aux sections de cadencement de l'additionneur multiplication liée de l'art antérieur (figure 1), l'additionneur à multiplication liée 50 selon la présente invention fonctionne beaucoup plus rapidement que l'additionneur 5 de l'art antérieur. Il existe un moins grand nombre de sections de cadencement sur la figure 3 que sur la figure 1. En réalité en termes de retards dans des portes, l'accroissement de la vitesse correspond approximativement 5 à 6 retards dans des portes, ce qui est important dans la conception du processeur. Comme cela est en outre représenté sur la figure 3, l'additionneur à multiplication liée 50 inclut un multiplicateur 51 qui reçoit deux nombres A, B (réglables chacun à 64 bits). Le dispositif de décalage 52 décale l'opérande C d'un nombre prédéterminé pour le normaliser en rapport avec le produit mathématique de A par B et de ce fait permettre qu'il puisse être combiné de façon appropriée avec le produit de A par B, à un instant ultérieur. Les signaux de sortie de somme et de report (par exemple de 128 bits chacun) du multiplicateur 51 et le signal de sortie du dispositif de décalage 52 sont envoyés l'additionneur à sauvegarde de report 53, dont l'agence ment et le fonctionnement sont bien connus dans la technique. Les données de somme et de report provenant du multiplicateur 51 sont introduites dans l'additionneur à sauvegarde de report 53 respectivement en tant que nombre à additionner et premier élément. Le signal d'entrée provenant du dispositif de décodage 52 est considéré comme étant le report entrant provenant d'un étage de niveau plus faible de l'additionneur à multiplication liée et à virgule flottante 50. L'additionneur à sauvegarde de report 53 produit un signal de somme et un signal de report. Les deux signaux de sortie de somme et de report sont introduits dans un additionneur à propagation de report 54 et dans un dispositif 55 d'anticipation du bit de tête. L'additionneur à propagation de report 54 combine les signaux de sortie de somme et de report délivrés par l'additionneur à sauvegarde de report 53 pour produire un nombre à virgule flottante, est envoyé au dispositif de décalage 61. Le dispositif 55 d'anticipation du bit de tête calcule, entre autres choses, un nombre de décalage qui est égal au nombre de bits significatifs devant etre décalés pour supprimer les zéros de tête dans le nombre à virgule flottante produit par l'additionneur à sauvegarde de report . Le dispositif 55 d'anticipation du bit de tête calcule également le nombre de décalages dans direction particulière. Ceci est exécuté pour normaliser les signaux sortie de somme et de report de l'additionneur à sauvegarde de report 53 pour des opérations d'addition, de soustraction, de multiplication ou de division. I1 en résulte que l'une des architectures possibles pour le dispositif 15 d'anticipation du bit de tête sur la figure 3 est décrite dans le brevet US N 5 798 952 au nom de Miller al., qui est incorporé ici par référence. Le dispositif 55 d'anticipation du bit de tête peut également calculer l'endroit où le bit de poids maximum est situé dans le nombre à virgule flottante produit par l'additionneur à sauvegarde de report 53. Une fois que l'emplacement du bit de poids maximum est déterminé, il est alors possible d'estimer la position du bit de poids minimum dans 1 bit, étant donné que la largeur en bits du dispositif est connue et qu'il existe une relation connue entre le nombre non incrémenté et le nombre incrémenté (nombre incrémenté = nombre non incrémenté ou nombre non incrémenté + 1). La largeur en bits du dispositif peut avoir n'importe quelle taille n, par exemple 4, 8, 16, 32, 64, 128, 246, 512, etc. Dans les formes de réalisation préférées, la largeur en bits est de 64 bits. Le décalage est estimé être égal à (n-1), soit 63 bits, dans les formes de réalisation préférées, et ce décalage est précis ou obtenu à moins d'un bit. Une fois que la position du bit de poids minimum est estimée, il est alors possible de calculer un nombre à virgule flottante incrémenté approximatif en ajoutant 1 au bit de poids minimum estimé du nombre à virgule flottante. Comme cela est représenté sur la figure 4A, à titre d'exemple, on suppose que le nombre SUM est délivré par l'additionneur à sauvegarde de report 53 et présente la séquence binaire suivante : ... 001011 ... Pour réaliser l'arrondissement de ce nombre, ce dernier est incrémenté de 1 dans la position du bit de poids minimum LSB. Ainsi par conséquent un mot d'incrément INC = ... 000010 ... est ajouté au nombre SUM=..001011... pour produire le nombre à virgule flottante incrémenté SUM+1=...00110x..., x pouvant être 1 ou 0. Cependant, la position du bit de poids minimum LSB est simplement une estimation. Comme cela est représenté sur la figure 4B, la position estimée du bit LSB peut être précise ou décalée d'un bit et par conséquent, en termes du nombre incrémenté SUM+1, il peut être décalé de A = 1, 2, 3 ou 4. Par conséquent, en se référant à nouveau à la figure 3, le dispositif 55 d'anticipation du bit de tête communique un mot LBA possédant un bit ayant un état logique binaire 1 à l'additionneur à propagation de report 56, qui est décalé vers la droite de 63 bits à partir de la position binaire du bit MSB identifié du nombre délivré par l'additionneur à sauvegarde de report 53. De préférence, le décalage est réalisé de façon implicite par une liaison câblée (c'est-à-dire une connexion de bits de sortie j du dispositif d'anticipation 55 connectée à la connexion de bits entrée J-63 de l'additionneur 56) entre le dispositif 55 d'anticipation du bit tête et l'additionneur à propagation de report 56. L'additionneur à propagation de report 56 calcule une version incrémentée approximative du nombre à virgule flottante produite par l'additionneur à sauvegarde de report par addition de 1 provenant du dispositif 55 d'anticipation du bit de tête aux signaux sortie de somme de report provenant de l'additionneur à sauvegarde de report 53. Ceci fournit un arrondissement par valeur supérieure ou une incrémentation du nombre à virgule flottante. Le nombre à virgule flottante non incrémenté et le nombre à virgule flottante incrémenté approximatif sont envoyés tous deux respectivement à des dispositifs de décalage 61, 62, à des fins de normalisation. nombre de décalages calculé par le dispositif 55 d'anticipation du bit tête est égal aux bits devant être décalés de manière à supprimer les zéros de tête dans nombre à virgule flottante, produits par l'additionneur à sauvegarde de report 53. Des dispositifs de décalage 61, 62 normalisent respectivement le nombre à virgule flottante non incrémenté et le nombre à virgule flottante incrémenté approximatif, par décalage des nombres à virgule flottante vers la droite ou vers la gauche, et ce du nombre de décalage. Les opérations de décalage normalisent les nombres avec une précision de moins de 1 bit. Le nombre à virgule flottante non incrémenté normalisé délivré par le dispositif de décalage 61 est ensuite introduit dans un multiplexeur MUX 65. Les deux bits de poids minimum LSB du nombre à virgule flottante incrémenté approximatif normalisé délivré par le dispositif de décalage 62 sont tronqués, étant donné que ces deux bits peuvent être imprécis en tant que résultat de l'estimation décrite précédemment du bit LSB (et de l'incrément approximatif), et le nombre tronqué est envoyé au mécanisme 64 de détermination du bit de poids minimum LSB. Le mécanisme 64 de détermination du bit de poids minimum LSB est agencé comme cela est représenté sur la figure 4C. Le mécanisme 64 de détermination du bit de poids minimum LSB comprend un multiplexeur (MUX) 66 commandé au moyen d'un signal de sélection produit par une logique de correction 67. La logique de correction 67 est configurée de manière exécuter la logique définie par la table de vérité de la figure 4D. Comme cela est représenté sur la figure 4C, le multiplexeur MUX 66 reçoit la partie SUM[63:2] du nombre à virgule flottante non incrémenté normalisé SUM et la partie SUM+A[63:2] du nombre virgule flottante incrémenté normalisé approximatif SUM+O, et délivre la partie SUM+1[63:2] du nombre à virgule flottante incrémenté normalisé précis SUM+1. La logique de correction 67 reçoit la partie SUM[1:0] et délivre SUM+1[1:0]. Enfin SUM+1[63:2] est combiné à SUM+1[1:0] pour l'obtention d'un nombre à virgule flottante incrémenté normalisé précis SUM+1[63:2] pour la délivrance au multiplexeur MUX 65 (figure 3). Par conséquent, le mécanisme 64 de détermination du bit de poids minimum LSB et la logique de correction 76 fonctionnent comme suit, en référence à la fois aux figures 4C et 4D. Tout d'abord, si les deux bits LSB SUM[1:0] du nombre à virgule flottante non incrémenté normalisé SUM sont respectivement "00", alors la logique de correction 67 délivre un signal de sélection "0" au multiplexeur MUX 66, ce signal provoquant la délivrance d'une sélection de SUM[63:2] en tant que SUM+1[63:2], et en outre la logique de correction 67 délivre également "0" en tant que bits SUM+1[1:0], qui sont combinés par SUM+1[63:2] pour créer SUM+1[63:2]. En second lieu, si les deux bits LSB ou SUM[1:0], du nombre à virgule flottante non incrémenté normalisé SUM sont respectivement "10", alors la logique de correction 67 délivre un signal de sélection "0" au multiplexeur 66 MUX 66, ce qui provoque la délivrance de la sélection de SUM[63:2] en tant que SUM+1[63:1], et en outre la logique de correction 67 délivre également "10" en tant que bits SUM+1[1:0], qui sont combinés SUM+1[63:2] pour créer SUM+1[63:0]. En troisième lieu, si les deux bits LSB, ou SUM[1:0], du nombre à virgule flottante non incrémenté normalisé SUM sont respectivement "10", alors la logique de correction 67 délivre un signal de sélection "0" au multiplexeur MUX 66, ce qui provoque la délivrance d'une sélection de SUM[63:2] en tant que SUM+1[63:2], et en outre la logique de correction 67 délivre également "11" en tant que bits SUM+1[1:0], qui sont combinés SUM+1[63:2] pour créer SUM+1[63:0]. Enfin, si les deux bits LSB ou SUM[1:0], du nombre à virgule flottante non incrémenté normalisé SUM sont respectivement "11", alors la logique de correction 67 délivre un signal de sélection "0" au multiplexeur MUX 66, ce qui a pour effet la délivrance d'une sélection de SUM[63:2] en tant que SUM+1[63:2], et en outre la logique de correction 67 délivre également "00" en tant que bits SUM+1[1:0], qui sont combinés à SUM+1[63:2] pour créer SUM+1[63:0]. En se référant à nouveau à la figure 3, le nombre à virgule flottante non incrémenté et normalisé résultant SUM produit par le dispositif de décalage 61 est envoyé à une logique d'arrondissement 63. La logique d'arrondisse ment 63 détermine si un signal de sortie normalisé non incrémenté provenant du dispositif de décalage 16 requiert un arrondissement et le type d'arrondissement (par exemple l'arrondissement à zéro, l'arrondissement à la valeur la plus proche, l'arrondissement sur l'infini négatif -oo et un arrondissement sur l'infini positif +oo) sur la base de l'examen des bits de garde, des bits d'arrondissement et des bits accolés, qui sont associés au signal de sortie délivré par le dispositif de décalage 61. La logique d'arrondissement 61 commande le multiplexeur MUX de maniere à sélectionner le nombre à virgule flottante normalisé non incrémenté SUM ou le nombre à virgule flottante normalisé incrémenté SUM+l devant être delivré par 'additionneur 50 à multiplication liée et à virgule flottante en tant que résultat R. B. Seconde forme de réalisation de l'additionneur à multiplication liée La figure 5 représente un schéma-bloc d'une seconde forme de réalisation d'un additionneur à multiplication liée et à virgule flottante, désigné une manière générale par le chiffre de référence 70 qui utilise le système d'arrondissement basé sur une sélection 20 (figure 2). L'additionneur 70 à multiplication liee à virgule flottante est fragmenté ou divisé en sections de cadencement, qui incluent des opérations logiques apparaissant en gros pendant la même période de cadencement. Comme on peut le voir sur la figure 5, l'additionneur 70 à multiplication liée et à virgule flottante est fragmenté en cinq périodes de cadencement, qui rend l'additionneur 70 plus rapide que l'additionneur 5 à multiplication liée de l'art antérieur (figure 1) et confère approximativement la même vitesse que la première forme de réalisation de l'additionneur à multiplication liée (figure 3). Cependant la seconde forme de réalisation présente l'avantage important de nécessiter un matériel moins conséquent que la première forme de réalisation, comme cela sera décrit plus loin. Les fonctionnements du multiplicateur 71, du dispositif de décalage 72, de l'additionneur à sauvegarde de report 73, de l'additionneur à propagation de report 74, du dispositif 75 d'anticipation du bit de tête et de l'additionneur à propagation de report 76 de la figure 5 sont tous essentiellement les mêmes que ceux des éléments correspondants 51-56 décrits précédemment en rapport avec la première forme de réalisation de la figure 3. La différence principale entre la première forme de réalisation et la seconde forme de réalisation est que dans la seconde forme de réalisation on utilise un système de transmission à cadencement automatique 100, qui normalise à la fois le nombre à virgule flottante incrémenté et le nombre à virgule flottante non incrémenté, dans un trajet de communication utilisé en commun et contenant un dispositif de décalage de normalisation 82, et le trajet est cadencé de façon automatique. Par conséquent, dans la seconde forme de réalisation on fait l'économie de la dépense d'un dispositif de décalage. Dans le système de transmission auto-synchronisé 100 de 'additionneur à multiplication liée 70 conforme à la seconde forme de réalisation on utilise d'une manière générale ce qui suit : un codeur 80, un dispositif de codage et un décodeur 90. Le codeur 80 imbrique pour l'essentiel le nombre à virgule flottante non incrémenté SUM et le nombre à virgule flottante approximativement incrémenté SUM+à le long du trajet commun 81. Le dispositif de décalage 82 utilisé en commun est interconnecté au codeur 80 pour la réception successivement nombre à virgule flottante non incrémenté SUM et du nombre à virgule flottante approximatif incrémenté SUM+à et pour normaliser successivement ces nombres. Le décodeur 90 realise pour l'essentiel une désimbrication du nombre à virgule flottante normalisé incrémenté et du nombre à virgule flottante non incrémenté, provenant du trajet commun de traitement. Un exemple d'une forme de réalisation possible pour le codeur 81, le dispositif de décalage 82 et le décodeur 90, est décrit dans la demande de brevet US en cours ayant pour titre "SELF-TIMED TRANSMISSION SYSTEM AND METHOD FOR PROCESSING MULTIPLE DATA SETS", déposé à la même date que la présente demande et incorpore ici par référence. Le dispositif de décalage 82 décale les données de codage, du nombre de bits requis vers la gauche ou du nombre bits requis vers la droite. Le dispositif de décalage 82 est commandé par le signal d'entrée 78 provenant du dispositif 75 d'anticipation bit de tête, en ce concerne le nombre requis de bits pour décaler les nombres codés et la direction de décalage. Le signal de sortie codé normalisé du dispositif de décalage 82 est ensuite envoyé au décodeur 86. Les fonctionnements de la logique d'arrondisse ment 93, mécanisme 94 de détermination bit LSB et du multiplexeur MUX 95 sont essentiellement les mêmes que ceux des éléments correspondants 63-65 décrits précédemment en référence a la première forme de réalisation représentée sur la figure 3. I1 faut insister sur le fait que les formes de réalisation décrites précédemment de la présente invention, en particulier toutes les formes de réalisation "préférées" sont simplement des exemples possibles de réalisations, simplement indiqués pour l'obtention d'une compréhension claire des principes de l'invention. De nombreux changements et modifications peuvent être apportés aux formes de réalisation décrites précédemment de l'invention sans sortir du cadre de cette dernière. REVENDICATIONS 1. Procédé pour un additionneur (50,70) à multi plication liée à virgule flottante dans un processeur (21) caractérisé en ce qu'il comprend les étapes consistant à calculer (20) essentiellement simultanément résultat non incrémenté et un résultat incrémenté, et sélectionner (20) ledit résultat non incrémenté et ledit résultat incrémenté en tant que nombre arrondi à virgule flottante. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes consistant à normaliser (61,62,82) ledit résultat non incrémenté et ledit résultat incrémenté avant ladite étape de selection, et empêcher l'exécution d'une étape d'incrémentation après ladite étape de normalisation. 3. Procédé selon la revendication 1, caractérisé en qu'il comporte en outre l'étape consistant à incrémenter (55,56,75,76) ledit résultat incrémenté avant la normalisation dudit résultat non incrémenté et dudit résultat incrémenté, et après ladite étape d'incrémentation, normaliser (61,62,82) ledit résultat non incrémenté et ledit résultat incrémenté. 4. Procédé selon la revendication 3, caractérise en ce que pendant ladite étape de normalisation, ledit résultat non incrémenté et ledit résultat incrémenté sont normalisés essentiellement simultanément dans dispositifs de décalage parallèles (61,62). 5. Procédé selon la revendication 3, caractérisé en ce que pendant ladite étape de normalisation, ledit résultat non incrémenté et ledit résultat incrémenté sont normalisés successivement moyennant l'utilisation d'un seul dispositif de décalage (82). 6. Procédé selon la revendication 5, caractérisé en ce 'il comporte en outre l'étape consistant à communiquer ledit résultat non incrémenté et ledit résultat incrémenté d'une manière auto-synchronisée, par l'intermediaire dudit dispositif de décalage unique (82). 7. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes consistant à calculer (62,82) un résultat incrementé approximatif, analyser (4,94) ledit résultat non incrémenté et ledit résultat incrémenté approximatif pour produire un résultat incrémenté précis, et ladite étape de sélection impliquant une sélection (63,65,93,95) entre ledit résultat non incrementé et ledit résultat incrémenté précis. 8. Procédé selon la revendication 1, caractérisé en ce qu' comporte en outre les étapes consistant à combiner (51,71) des premier et second opérandes pour former un produit, décaler (52,72) un troisième opérande de telle sorte que ledit troisième opérande peut être combiné audit produit, combiner (53,73) ledit produit et ledit troisième opérande décalé pour produire une première somme un premier report, déterminer (55,75) un mot de dispositif de bit de tête approximatif dans ladite première somme, produire (55,75) un mot de dispositif d'anticipation de bits de tête qui, lorsqu'il est décalé, définit un approximativement dans une position de bit le moins significatif de ladite première somme, combiner (54,74) ladite première somme et ledit premier report pour produire ledit résultat, combiner (56,76) ledit mot du dispositif d'anticipation de bits de tête décalé à ladite première somme audit premier report pour produire un résultat incrémenté approximatif, normaliser (61,82) ledit résultat non incrémenté, normaliser (62,82) ledit résultat incrémenté approximatif, analyser (64,94) ledit résultat non incrémenté et ledit résultat incrémenté approximatif pour produire un resultat incrémenté précis, et sélectionner (63,65,93,95) ledit resultat non incrémenté ou ledit résultat incrémenté précis, sur la base l'arrondissement d'indices associés audit résultat non incrémenté. 9. Additionneur (50,70) à multiplication liée et a virgule flottante, caractérisé en ce qu'il est agencé pour calculer en parallèle un résultat non incrementé et un résultat incrémenté et pour sélectionner ledit résultat non incrémenté ou ledit résultat incrémenté en tant que nombre arrondi à virgule flottante. 10. Processeur (21), caractérisé ce qu'il utilise l'additionneur (50,70) à multiplication liée et à virgule flottante conçu pour calculer en parallèle un résultat non incrémenté et un résultat incrémenté et pour sélectionner ledit résultat non incrémenté ou ledit résultat incrémenté en tant que nombre arrondi à virgule flottante.