Brevet FR2794258A1 — publié le 20001201

Circuit de multiplication L'invention concerne un circuit de multiplication. Plus particulièrement, l'invention se rapporte aux circuits de multiplication de type parallèle / série. Afin d'effectuer des opérations de multiplication, on utilise habituellement dans les processeurs des circuits de multiplication à accumulateur, encore appelés circuits de multiplication série. Un tel circuit est représenté sur la figure 1 ; il permet d'effectuer le produit d'un nombre A par un nombre B, et d'ajouter éventuellement une constante C au résultat de la multiplication. Le circuit de la figure 1 comprend cinq registres 1 à 5, un dispositif de sélection 6 et un circuit accumulateur. Les registres 1 et 5 contiennent respectivement un nombre A et un zéro logique, chacun de n bits en parallèle ; le registre 2 contient un nombre B de n bits en série. Le dispositif de sélection 6 possède deux entrées parallèles el et e2, une entrée de sélection série el() et une sortie de données parallèle. Les entrées el, e2 et elo du dispositif de sélection 6 sont connectées respectivement aux registres 1, 5 et 2. Le dispositif de sélection fournit ainsi en sortie, soit A si le bit sortant de B vaut "1", soit "0" si le bit sortant de B vaut "0". Le circuit accumulateur est constitué de n-1 bascules d'accumulation 7 à 9, n bascules de retenue 10 à 13 et n additionneurs 14 à 17. Les bascules d'accumulation et de retenue 7 à 13 possèdent chacune une entrée de données D, une sortie de données Q, une entrée d'horloge CP et une entrée de remise à zéro RE. Les bascules 7 à 13 sont par exemple des bascules de type D synchrone, dans lesquelles le signal de sortie est égal au signal d'entrée retardé de un cycle d'horloge. Les entrées d'horloge de toutes les bascules 7 à 13 sont connectées ensemble pour recevoir un même signal CP. De même, les entrées de remise à zéro de toutes les bascules 7 à 13 sont reliées ensemble et reçoivent le même signal RE. L'entrée de données D de la bascule d'accumulation 7 est connectée au conducteur de poids n-l de la sortie de données du dispositif de sélection 6. Les n additionneurs 14 à 17 possèdent chacun deux entrées de données (x et P, une entrée de retenue CI, une sortie de résultat R et une sortie de retenue CO. Les entrées de données (x des n-l additionneurs 14 à 16 sont connectées respectivement aux conducteurs de poids n-2 à 0 de la sortie de données du dispositif de sélection 6. L'entrée de données P et l'entrée de retenue CI des n-l additionneurs 14 à 16 sont reliées respectivement aux sorties de données Q des n-l bascules d'accumulation 7 à 9 et aux sorties de données Q des n-l bascules de retenue 10 à 12. Les n-2 additionneurs 14 à 15 fournissent en sortie un résultat à l'entrée de données D des bascules d'accumulation 8 à 9, et une retenue à l'entrée D des bascules de retenue 10 à 11. L'additionneur 17 reçoit sur ses trois entrées respectivement un bit de résultat de l'additionneur 16, un nombre C mémorisé dans le registre 3 et un bit de retenue fourni par la bascule de retenue 13. L'additionneur 17 fournit en sortie un résultat S mémorisé dans le registre 4 et un bit de retenue à l'entrée D de la bascule de retenue 13. Pour effectuer une multiplication, on additionne successivement, pendant n cycles du signal d'horloge, soit A soit "0" (en fonction de chaque bit de B) et une retenue au contenu des bascules d'accumulation 7 à 9, le contenu des bascules d'accumulation 7 à 9 étant lui-même décalé de un bit. Ainsi, lors de chaque cycle d'horloge, un bit du résultat S est stocké dans le registre 4 et une nouvelle retenue est mémorisée dans les bascules de retenue 10 à 13 pour être utilisée au prochain cycle d'horloge. Enfin, pendant les n cycles d'horloge suivants, on fournit des zéros sur l'entrée de sélection elo du dispositif de sélection 6 et sur l'entrée P de l'additionneur 17, afin d'extraire le complément de résultat encore contenu dans les bascules d'accumulation 7 à 9. Le circuit de la figure 1 est généralement utilisé dans les processeurs classiques car il permet d'avoir un circuit de multiplication utilisant un petit nombre de composants, et donc un circuit de dimension physique assez faible. Cependant, en particulier lorsqu'il est utilisé pour des nombres codés sur un nombre de bits important, le temps nécessaire pour effectuer la multiplication peut être conséquent (2*n périodes du signal d'horloge, n étant la taille des nombres à multiplier). L'invention propose de diminuer le nombre de cycles d'horloge nécessaires, et donc les temps de calcul, en utilisant un circuit intégré comportant un circuit de multiplication pour multiplier un nombre A par un nombre B, A et B étant deux nombres entiers codés sur a et b bits, b étant un nombre entier pair, le circuit de multiplication comportant des moyens de sélection et des moyens d'accumulation. Selon l'invention, les moyens de sélection comportent des première et deuxième entrées de données parallèles recevant respectivement le nombre A et un zéro logique de a bits chacun, des première et deuxième entrées de sélection séries recevant respectivement les bits pairs et les bits impairs du nombre B. Les moyens de sélection fournissent soit "0" et troll, soit "0" et A, soit A et "0", soit A et A, sur des première et deuxième sorties en fonction d'un bit pair et d'un bit impair de B. Les moyens d'accumulation sont connectés aux première et deuxième sorties pour additionner la donnée provenant de la première sortie avec deux fois la donnée provenant de la deuxième sortie et avec un résultat cumulé. Préférentiellement, les moyens d'accumulation comportent a cellules élémentaires, chaque cellule élémentaire étant affectée d'un poids propre i, i étant un entier compris entre 0 et a-1. Au moins une cellule élémentaire de poids i comporte des moyens d'addition pour additionner un bit de poids i provenant de la première sortie des moyens de sélection avec un bit de poids i-l provenant de la deuxième sortie des moyens de sélection, avec un premier bit de retenue reçue provenant de la cellule élémentaire de poids i+l, avec un deuxième bit de retenue reçue provenant de la cellule élémentaire de poids i-l et avec un bit de résultat reçu provenant de la cellule élémentaire de poids i+2. La cellule élémentaire de poids i fournit en sortie un bit de résultat (SI) à la cellule élémentaire de poids i-2, un premier bit de retenue (S2) à la cellule élémentaire de poids i-1 et un deuxième bit de retenue (S3) à la cellule élémentaire de poids i+l. De préférence, au moins une cellule élémentaire de poids i comporte une bascule d'accumulation pour mémoriser et retarder le résultat (SI) et une bascule de retenue pour mémoriser et retarder la première retenue (S2) - L'invention propose ainsi de réduire les temps de calcul en utilisant un circuit de multiplication parallélisé sur 2 bits. L'invention permet ainsi de diviser le temps de calcul par deux, sans augmenter considérablement le nombre de composants utilisés, et donc la dimension physique du circuit imprimé. L'invention est plus particulièrement intéressante pour des circuits de multiplication de grandes dimensions mais présente déjà un intérêt non négligeable pour les circuits travaillant sur au moins 8 bits. L'invention propose également un procédé de réalisation d'une multiplication entre deux nombres A et B, A et B étant deux nombres entiers codés sur a et b bits, b étant un nombre entier pair. Le procédé comporte les étapes suivantes : El) sélectionner soit A et A, soit A et "0", soit "0" et A, soit "0" et "0" en fonction d'un bit pair et d'un bit impair de B, E2) additionner dans un accumulateur la donnée provenant des premiers moyens de sélection avec deux fois la donnée provenant des deuxièmes moyens de sélection et avec un résultat cumulé. E3) mémoriser le résultat de l'addition dans ledit accumulateur après décalage de deux bits du contenu précédemment mémorisé dudit accumulateur. L'invention propose enfin un procédé de réalisation d'une opération S = (A*B)+(D*E), A et D étant deux nombres entiers codés sur a bits, B et E étant deux nombres entiers codés sur b bits, b étant un nombre entier pair, caractérisé en ce qu'il comporte les étapes suivantes : El) additionner dans des moyens d'addition les nombres A et D et fournir un résultat A+D, E2) sélectionner, d'une part, "0", A, D ou A+D" en fonction d'un bit par de B et d'un bit pair de E et sélectionner d'autre part, "0", A, D ou A+D en fonction d'un bit impair de B et d'un bit impair de E, E3) additionner dans un accumulateur la donnée provenant de la première sortie des moyens de sélection avec deux fois la donnée provenant de la deuxième sortie des moyens de sélection et avec un résultat cumulé. L'invention sera mieux comprise et d'autres particularités et avantages apparaîtront à la lecture de la description détaillée qui va suivre, cette description faisant référence aux dessins annexés parmi lesquels : - la figure 1 présente un circuit de multiplication à accumulateur selon l'état de la technique, - la figure 2 présente une réalisation possible du circuit de multiplication selon l'invention, - la figure 3 détaille une cellule élémentaire du circuit de multiplication de la figure 2, selon l' invention, - la figure 4 présente une deuxième réalisation du circuit de multiplication selon l'invention. La figure 1 ayant été décrite précédemment et constituant l'état de la technique, elle ne sera pas décrite plus en détail. Le schéma de la figure 2 présente un circuit de multiplication selon l'invention. Ce circuit permet d'effectuer la multiplication d'un nombre A par un nombre B. Ce circuit permet également d'effectuer une addition supplémentaire d'un nombre C avec le résultat de la multiplication de A par B. On supposera, dans l'exemple décrit ci-dessous, que les nombres A, B et C sont de taille identique et codés sur a bits, a étant un nombre entier pair. Le circuit de la figure 2 comporte sept registres 18, 190, 191, 200, 201, 210 et 21,, 2*a multiplexeurs 22o à 22,-,, 23o à 23,-,, deux additionneurs 24, 25, une bascule d'accumulation 26, deux bascules de retenue 27, 28, et a cellules élémentaires 290 à 29,-,. Le registre 18 à sortie parallèle contient le nombre A, de a bits numérotés Ao à A,-,. Les registres 190 et 19, de a/2 bits à décalage et à entrée série contiennent respectivement les bits pairs et les bits impairs du nombre B de a bits. Les registres 200 et 20, de a/2 bits à décalage et à entrée série contiennent respectivement les bits pairs et les bits impairs de C. Les registres 210 et 21, de a bits à décalage et à entrée série sont destinés à recevoir les bits pairs, respectivement impairs, d'un résultat S de taille 2*a. Les a multiplexeurs 22o à 22,-, et les a multiplexeurs 230 à 23.,_1 possèdent chacun deux entrées de données el et e2 de un bit, une entrée de sélection elo et une sortie de données de un bit. Les entrées de données el des multiplexeurs 220 à 22,-, et celles des multiplexeurs 230 à 23,-, sont connectées ensemble, respectivement aux sorties de poids 0 à a-1 du registre 18. Les entrées de données e2 des multiplexeurs 220 à 22,,_1 et celles des multiplexeurs 230 à 23#,-l reçoivent un zéro logique. L'entrée de sélection el() des multiplexeurs 220 à 22,,_1 est connectée au registre 190, l'entrée de sélection des multiplexeurs 230 à 23,,_1 est connectée au registre 191. Les additionneurs 24 et 25 possèdent chacun deux entrées de données (x et P, une entrée de retenue CI, une sortie de données P, et une sortie de retenue CO de un bit. La bascule d'accumulation 26 et les bascules de retenue 27 et 28, par exemple de type D synchrone, possèdent chacune une entrée de données D, une sortie de données Q, une entrée d'horloge CP et une entrée de forçage à zéro RE. L'entrée de données a de l'additionneur 24 est connectée à la sortie du multiplexeur 23a-ir l'entrée de données P de l'additionneur 24 recevant un zéro logique. La sortie de données R de l'additionneur 24 est reliée à l'entrée de données D de la bascule d'accumulation 26. La sortie de retenue CO de l'additionneur 24 est connectée à l'entrée de données D de la bascule de retenue 27. Les a cellules élémentaires 29() à 29,-, possèdent chacune trois entrées de données El à E3, deux entrées de retenue E4 et E#1, une sortie de résultat Sl, deux sorties de retenue S2 et S3, une entrée d'horloge et une entrée de forçage à zéro. A chaque cellule est associé un poids propre noté i, variant de 0 à a-1. Les entrées El des cellules élémentaires 29, à 29,-, sont connectées respectivement aux sorties des multiplexeurs 23o à 23,-2. L'entrée El de la cellule élémentaire 290 est reliée à la sortie du registre 200. Les entrées E2 des cellules élémentaires 290 à 29,-, sont connectées respectivement aux sorties des multiplexeurs 220 à 22,,-,. Les entrées E3 des cellules élémentaires 290 à 291-3 sont reliées respectivement aux sorties SI des cellules élémentaires 292 à 29,-1. L'entrée E3 de la cellule élémentaire 29.,_1 reçoit un zéro logique et l'entrée E3 de la cellule élémentaire 29,-2 est connectée à la sortie de la bascule d'accumulation 26. Les entrées E4 des cellules élémentaires 290 à 29a-2 sont reliées respectivement aux sorties de retenue S,l des cellules élémentaires 29, à 29,-1. L'entrée E4 de la cellule élémentaire 29,,_1 est connectée à la sortie de données de la bascule de retenue 27. Les entrées E5 des cellules élémentaires 29, à 29é,_1 sont couplées respectivement aux sorties de retenue S3 des cellules élémentaires 290 à 29,-2, l'entrée E5 de la cellule 290 étant reliée à la sortie de retenue de l'additionneur 25. La sortie de retenue S3 de la cellule élémentaire 29a-1 est connectée à l'entrée de retenue de l'additionneur standard 24. L'entrée de donnée de la bascule de retenue 28 est connectée à la sortie du registre 201. L'additionneur standard 25 a ses trois entrées respectivement connectées à la sortie de données SI de la cellule élémentaire 291, à la sortie de retenue S2 de la cellule élémentaire 290 et à la sortie de la bascule de retenue 28. Les registres 210 et 21, sont couplés respectivement à la sortie de données SI de la cellule élémentaire 290 et à la sortie de données de l'additionneur standard 25. Les entrées d'horloge de toutes les cellules élémentaires 290 à 29,,_1 et des bascules 26, 27 et 28 sont connectées ensemble pour recevoir un même signal d'horloge CP. De même, les entrées de forçage à zéro de toutes les cellules élémentaires 290 à 29,-, et des bascules 26, 27 et 28 sont connectées ensemble pour recevoir le même signal de remise à zéro RE. Enfin, Les registres 18, 190, 191, 200, 201, 210 et 21, disposent d'entrées et / ou de sortie parallèles (non représentées) pour échanger des données avec le reste du processeur (ou du circuit) dans lequel le circuit de multiplication est incorporé. De nombreuses variantes du circuit de la figure 2 sont possibles. Par exemple, les a multiplexeurs 220 à 22,-, sont équivalents à un multiplexeur unique possédant deux entrées parallèles de a bits, l'une des entrées étant connectée à la sortie du registre 18, l'autre étant maintenue à zéro, une entrée de sélection connectée au registre 190 et une sortie parallèle de a bits. Les a multiplexeurs 220 à 22,-, peuvent également être remplacés par une série de portes logiques, par exemple de type ET et / ou de type OU, qui assure la même fonction. De la même façon, les multiplexeurs 23() à 23,-, peuvent être remplacés par un multiplexeur unique ou une série de portes logiques. Les registres 200, 20, et la bascule 28 permettent d'effectuer une addition supplémentaire avec le résultat de la multiplication. Les registres 200, 20, et la bascule 28 ne sont donc utiles que si une addition est envisagée. Aussi, certaines variantes de ce circuit ne prévoient pas ce registre. Les nombres A, B et C peuvent également être de taille différente les uns des autres. Le nombre A peut être de taille quelconque, par exemple de taille a ou a Les nombres B et C peuvent également être de taille quelconque, ils doivent cependant être de taille b identique et paire. Dans le cas contraire, il convient de compléter les nombres B et/ou C par des "0". On choisira enfin des registres 190, 191, 200, et 20,, de taille b/2 pour contenir les nombres B et C, et des registres 210 et 21, de taille suffisante pour contenir le résultat de l'opération S = A*B+C, l'opération s'effectuant en b périodes du signal d'horloge. Le schéma de la figure 3 détaille l'une des cellules élémentaires 290 à 29,,-,, par exemple la cellule 29j, du circuit de multiplication. Ladite cellule élémentaire 29j comporte deux additionneurs 30 et 31, une bascule d'accumulation 32 et une bascule de retenue 33. Les deux additionneurs 30 et 31 possèdent chacun deux entrées de données (x et P, une entrée de retenue CI, une sortie de résultat R et une sortie de retenue CO. Les trois entrées de l'additionneur 30 correspondent aux entrées E2 à E4 de la cellule élémentaire 29î. La sortie de retenue de l'additionneur 30 correspond à la sortie S3 de la cellule élémentaire 29j. Les entrées # et CI de l'additionneur 31 correspondent aux entrées El et E5 de la cellule élémentaire 29i. L'entrée P de l'additionneur 31 est connectée à la sortie de résultat R de l'additionneur 30. La bascule d'accumulation 32, par exemple de type D synchrone, possède une entrée de donnée D connectée à la sortie de résultat R de l'additionneur 31, une sortie de donnée Q correspondant à la sortie de résultat SI de la cellule élémentaire 29j, une entrée d'horloge CP et une entrée de forçage à zéro RE. La bascule de retenue 33, par exemple de type D synchrone, possède une entrée de donnée D, connectée à la sortie de retenue CO de l'additionneur 31, une sortie de retenue Q correspondant à la sortie de retenue S., de la cellule élémentaire 29j, une entrée d'horloge CP et une entrée de forçage à zéro RE. Les entrées d'horloge CP des bascules 32 et 33 sont connectées ensemble pour recevoir un même signal d'horloge CP et correspondent à l'entrée d'horloge de la cellule élémentaire 294.. De même, les entrées de forçage à zéro RE des bascules 32 et 33 sont connectées ensemble pour recevoir le même signal de remise à zéro RE et correspondent à l'entrée de forçage à zéro de la cellule élémentaire 29j. On peut remarquer que chaque cellule élémentaire 29j effectue une addition entre cinq bits de même poids i et fournit deux retenues et un résultat d'un même poids i+l. De ce fait, il aurait par exemple été possible d'utiliser un unique circuit d'addition disposant de cinq entrées et de trois sorties. Cependant, l'avantage d'utiliser deux additionneurs élémentaires distincts 30, 31 est de découpler la propagation de retenue provenant de la cellule 29j-l, reçue sur l'entrée E5 de la cellule 29j. Les entrées El à E4 de la cellule élémentaire peuvent par contre être échangées entre elles. D'autres formes de cellule peuvent également être envisagées, l'essentiel étant d'additionner tous les bits d'un même poids ensemble puis de décaler un résultat de deux bits et deux retenues de un bit. on remarquera également que l'ensemble constitué de l'additionneur 24 et des bascules 26 et 27 est équivalent à une cellule élémentaire partiellement utilisée, dont les entrées E2 à E4 et la sortie S3 ne sont pas connectées. Pour effectuer la multiplication d'un nombre A par un nombre B avec le circuit de multiplication décrit par les figures 2 et 3, on charge d'abord les nombres A et B dans les registres 18, 190 et 191. Eventuellement, si une addition est envisagée simultanément, on charge un nombre C dans les registres 200 et 201, sinon on initialise les registres 200 et 20, à zéro. On initialise également à zéro le contenu des bascules 26 à 28, ainsi que le contenu des bascules 32 et 33 de toutes les cellules élémentaires 290 à 29#,-,. Pendant a/2 cycles du signal d'horloge, on décale, à chaque cycle, les nombres B et C de deux bits. Si le bit pair de B sortant du registre 190 vaut "l", alors les multiplexeurs 220 à 22,,-, fournissent en sortie le nombre A, sinon, ils délivrent un zéro logique. De même, si le bit impair sortant de B du registre 19, est égal à "1", alors les multiplexeurs 230 à 23,-, fournissent en sortie le nombre A, sinon, ils délivrent un zéro logique. Lors de chaque cycle, on additionne dans chaque cellule élémentaire 29j d'une part un bit de poids i provenant des multiplexeurs 220 à 22,-,, et d'autre part un bit de poids i-1 provenant des multiplexeurs 230 et 23,,-, (ce qui revient à additionner A ou "0" avec 2*A ou "0") , un bit de poids i d'une retenue issue de la cellule élémentaire 29j,j et un bit de poids i-l d'une retenue issue de la cellule élémentaire 29i-l au contenu de la bascule d'accumulation 32 de la cellule élémentaire 29i,2. Le contenu des bascules d'accumulation 32 est lui-même décalé de deux bits. A chaque signal d'horloge deux bits du résultat S sont alors stockés dans les registres 210 et 211. La multiplication s'effectue ainsi deux bits par deux bits. Pendant les a/2 cycles d'horloge suivants, on fournit des zéros à partir des registres 190, 19,, 200 et 20, afin de sortir les bits de résultat encore contenus dans les bascules d'accumulation 32 des cellules élémentaires 290 à 29,-,. La description ci-dessus du fonctionnement d'une première réalisation du circuit de multiplication selon l'invention permet de dégager les différentes étapes d'un procédé de réalisation d'une multiplication entre deux nombres A et B, A et B étant deux nombres entiers codés sur a et b bits, b étant un nombre entier pair, caractérisé en ce qu'il comporte les étapes suivantes : El) sélectionner soit A et A, soit A et "0", soit "0" et A, soit "0" et "0" en fonction d'un bit pair et d'un bit impair de B, E2) additionner dans un accumulateur (24 à 28, 290 à 29,,-,) la donnée provenant de la première sortie des moyens de sélection (220 à 22,-,, 230 à 23a-,) avec deux fois la donnée provenant de la deuxième sortie des moyens de sélection (22o à 22a-1, 230 à 23,,-,) et avec un résultat cumulé. E3) mémoriser le résultat de l'addition dans ledit accumulateur (24 à 28, 290 à 29,,-,) après décalage de deux bits du contenu précédemment mémorisé dudit accumulateur. La figure 4 présente une deuxième réalisation possible du circuit de multiplication selon l'invention, qui permet d'effectuer l'opération S = (A*B)+(D*E)+C. On supposera, dans l'exemple décrit ci-dessous, que les nombres A, B, C, D et E sont de taille identique et codés sur a bits. Les éléments de la figure 4 et ceux de la figure 2 ayant le même repère sont identiques. Le circuit de multiplication de la figure 4 est modifié par rapport à celui de la figure 2 de la manière suivante : - Les éléments 18o à 18a-1 correspondent au registre 18 à sortie parallèle ; il contient le nombre A de a bits numérotés Ao à A,-,. - deux registres 340 et 34, de a/2 bits à décalage et à entrée série et un registre 380 à 38,-, de a bits à sortie parallèle a été ajouté. Les registres 34o et 34, contiennent respectivement les bits pairs et impairs du nombre E. Le registre 380 à 38,,,-, contient respectivement les bits Do à D,-, du nombre D. - a additionneurs 370 à 37,,-,, comprenant chacun deux entrées de données (x et P, une entrée de retenue CI, une sortie de données R et une sortie de retenue CO, sont ajoutés. Les entrées de données (x et P des additionneurs 370 à 37,-, sont connectées respectivement aux registres 38o à 38a-, et 39o à 39,-,. L'entrée de retenue CI de l'additionneur 370 reçoit un zéro logique et les entrées de retenue CI des additionneurs 37, à 37a-i sont connectées respectivement aux sorties de retenue CO des additionneurs 370 à 37a-2. Les additionneurs 370 à 37,-, forment un additionneur parallèle complet, dit à retenue propagée, et fournissent la somme A+D sur leur sortie de données R. - les multiplexeurs 220 à 22,1, 230 à 23,1 sont remplacés par a+l multiplexeurs 35o à 35, et a+l multiplexeurs 360 à 36,, identiques possédant chacun quatre entrées de données el à e4 de un bit, deux entrées de sélection elo, el, et une sortie de données de un bit. Le multiplexeur 350 a été volontairement agrandi pour faciliter la compréhension du lecteur. Les entrées de données el e 3 et e 4 des multiplexeurs 350 à 35a-,, 360 à 36,1 sont connectées respectivement au registre 180 à 18a-1 pour recevoir le nombre A, au registre 380 à 38,1 pour recevoir le nombre D et à la sortie de données R des additionneurs 370 à 37a-1 pour recevoir la somme A+D. Les multiplexeurs 350 à 35a-I, 36() à 36,,_1 reçoivent un zéro logique sur leur entrée e2. Enfin, les multiplexeurs 35, et 36, reçoivent un zéro logique sur leurs entrées de données el, e2 et e-#, leur entrée de donnée e4 étant connectée à la sortie de retenue de l'additionneur 37a-1 - une (a+l)-ième cellule élémentaire 29, de poids a est ajoutée en série avec les a cellules élémentaires 290 et 29,,_1 de la figure 2. Les entrées de sélection el(), respectivement el, des multiplexeurs 350 à 35., sont connectées au registre 19q, respectivement au registre 340. Ainsi, si le bit sortant du registre 190 vaut "P' et si le bit sortant du registre 340 vaut 1TOYY, alors les multiplexeurs 35o à 35a fournissent en sortie le nombre A. Si le bit sortant du registre 190 vaut "0" et si le bit sortant du registre 340 est égal à "l", alors les multiplexeurs 350 à 35, fournissent en sortie le nombre D. Si les bits sortant des registres 190 et 340 valent simultanément "P', alors les multiplexeurs 350 à 35, fournissent en sortie la somme A+D. Enfin, si les bits sortant des registres 190 et 340 sont simultanément nuls, alors les multiplexeurs 350 à 35 , délivrent en sortie un zéro logique. De même, les entrées de sélection ej##, respectivement el, des multiplexeurs 360 à 36, sont connectées au registre 191, respectivement 341. Les multiplexeurs 360 à 36, fournissent ainsi A, D, A+D ou "0" selon la valeur des bits sortant des registres 19, et 341.. Le calcul est effectué de manière similaire à celui effectué à partir du circuit de la figure 2 : dans chaque cellule élémentaire 29j de poids i, on additionne, à chaque cycle d'horloge, A, D, A+D ou "0", A, D, A+D ou "0" décalé de un bit, une retenue fournie par la cellule élémentaire 29i-l et une retenue fournie par la cellule élémentaire 29i,l au contenu de la bascule d'accumulation 32 de la cellule élémentaire 29i,2, le contenu des bascules d'accumulation 32 étant lui-même décalé de un bit. A chaque signal d'horloge deux bits du résultat S sont finalement stockés dans les registres 210 et 211. Les nombres A, B, C, D et E peuvent être de tailles différentes. Cependant, les nombres A et D d'une part, et les nombres B, C et E d'autre part doivent être de taille identique. Les nombres B, C et E doivent de plus être de taille paire. Dans le cas contraire, il convient de compléter les nombres A, B, C, D et/ou E par des "0". L'opération S = A*B+D*E+C s'effectue alors en b périodes du signal d'horloge, b étant la taille du nombre B. La description ci-dessus du fonctionnement d'une deuxième réalisation du circuit de multiplication selon l'invention permet de dégager les différentes étapes d'un procédé de réalisation d'une opération S = (A*B)+(D*E), A et D étant deux nombres entiers codés sur a bits, B et E étant deux nombres entiers codés sur b bits, b étant un nombre entier pair, caractérisé en ce qu'il comporte les étapes suivantes : El) additionner dans des moyens d'addition (38() à 38,,-,) les nombres A et D et fournir un résultat A+D, E2) sélectionner, d'une part, 11V, A, D ou A+D" en fonction d'un bit par de B et d'un bit pair de E et sélectionner d'autre part, 1'011, A, D ou A+D en fonction d'un bit impair de B et d'un bit impair de E, E3) additionner dans un accumulateur (24 à 28, 290 à 29,,-,) la donnée provenant de la première sortie des moyens de sélection (35, à 35#,-If 360 à 36,,-,) avec deux fois la donnée provenant de la deuxième sortie des moyens de sélection (35, à 35#,-Jf 360 à 36,,-,) et avec un résultat cumulé. E4) mémoriser le résultat de l'addition dans ledit accumulateur (24 à 28, 290 à 29a-j après décalage de deux bits du contenu précédemment mémorisé dudit accumulateur. REVENDICATIONS 1. Circuit intégré comportant un circuit de multiplication pour multiplier un nombre A par un nombre B, A et B étant deux nombres entiers de a et b bits, b étant un nombre entier pair, le circuit de multiplication comportant des moyens de sélection (220 à 22,,-,, 230 à 23,,-,) et des moyens d' accumulation (24 à 28, 290 à 29,-1) , caractérisé en ce que les moyens de sélection (220 à 22,,, 230 à 23,-,) comportent des première (el) et deuxième (e2) entrées de données parallèles recevant respectivement le nombre A et un zéro logique de a bits, des première et deuxième entrées de sélection séries recevant respectivement les bits pairs et les bits impairs du nombre B, les moyens de sélection (220 à 22,-,, 230 à 23a-1) fournissant soit "0" et "Oly, soit "0" et A, soit A et "0", soit A et A, sur des première et deuxième sorties en fonction d'un bit pair et d'un bit impair de B, et en ce que les moyens d'accumulation (24 à 28, 29() à 29,-,) sont connectés aux première et deuxième sorties pour additionner la donnée provenant de la première sortie avec deux fois la donnée provenant de la deuxième sortie et avec un résultat cumulé. 2. Circuit selon la revendication 1, caractérisé en ce que les moyens d'accumulation comportent a cellules élémentaires (290 à 29a-1) chaque cellule élémentaire étant affectée d'un poids propre i, i étant un nombre entier compris entre 0 et a-1, et en ce que au moins une cellule élémentaire (291) de poids i comporte des moyens d'addition (30, 31) pour additionner un bit de poids i (El) provenant de la première sortie des moyens de sélection (220 à 22,_, 230 à 23,-,) avec un bit de poids i-l (E2) provenant de la deuxième sortie des moyens de sélection (220 à 22,1, 230 à 23a-1), avec un premier bit de retenue reçue (E4) provenant de la cellule élémentaire (29i,i), avec un deuxième bit de retenue reçue (E5) provenant de la cellule élémentaire (29j-j) et avec un bit de résultat reçu (E3) provenant de la cellule élémentaire (29i12), la cellule élémentaire (29j) fournissant un bit de résultat (Sj) à la cellule élémentaire (29i-2), un premier bit de retenue (S2) à la cellule élémentaire (29j-j) et un deuxième bit de retenue (S3) à la cellule élémentaire (29j,j) . 3. Circuit selon la revendication 2, caractérisé en ce que la au moins une cellule élémentaire (29j) comporte une bascule d'accumulation (32) pour mémoriser et retarder le résultat (Sj) et une bascule de retenue (33) pour mémoriser et retarder la première retenue (S2). 4. Circuit selon l'une des revendications 2 ou 3, caractérisé en ce les moyens d'addition comportent des premier et deuxième additionneurs (30, 31), chaque additionneur (30, 31) comportant trois entrées (#, # et CI), une sortie de résultat (R) et une sortie de retenue (CO), la sortie de résultat (R) du premier additionneur (30) étant connectée sur l'une des entrées du deuxième additionneur (31), en ce que le deuxième bit de retenue (S3) est fourni par la sortie de retenue (CO) du premier additionneur (30), et en ce que le deuxième bit de retenue reçue (E5) est recueilli par l'une des entrées du deuxième additionneur (31). 5. Circuit selon la revendication 4, caractérisé en ce que la sortie de résultat (R) du deuxième additionneur (31) est connectée à la bascule d'accumulation (32), et en ce que la sortie de retenue (CO) du deuxième additionneur (31) est connectée à la bascule de retenue (33). 6. Circuit selon l'une des revendications 1 à 5, caractérisé en ce que le circuit de multiplication comporte des moyens (25, 28) pour additionner une constante C au résultat de la multiplication du nombre A par le nombre B, C étant un nombre entier de b bits. #. Circuit selon la revendication 1, caractérisé en ce qu'il comporte en outre des moyens d'addition (370 à 37,-,) recevant le nombre A et un nombre D de a bits sur des première x) et deuxième (p) entrées parallèles, les moyens d'addition fournissant une somme A+D sur une sortie de donnée parallèle (R), et caractérisé en ce que les moyens de sélection (35o à 35a-l-, 36o à 36,,-,) comportent en outre une troisième (e3) entrée de données parallèle recevant le nombre D et une quatrième (e4) entrée de données parallèle connectée à la sortie de donnée parallèle (R) des moyens d'addition pour recevoir la somme A+D, les moyens de sélection fournissant "0", A, D ou A+D sur les première et deuxième sorties en fonction, d'une part, d'un bit pair de B et d'un bit pair de E, et d'autre part, en fonction d'un bit impair de B et d'un bit impair de E, pour effectuer l'opération S = A*B + D*E, E étant un nombre entier de b bits. 8. Procédé de réalisation d'une multiplication entre deux nombres A et B, A et B étant deux nombres entiers codés sur a et b bits, b étant un nombre entier pair, caractérisé en ce qu'il comporte les étapes suivantes : El) sélectionner soit A et A, soit A et "0", soit "0" et A, soit "0" et "0" en fonction d'un bit pair et d'un bit impair de B, E2) additionner dans un accumulateur (24 à 28, 290 à 29,-,) la donnée provenant de la première sortie des moyens de sélection (220 à 22,-,, 230 à 23,-,) avec deux fois la donnée provenant de la deuxième sortie des moyens de sélection (220 à 22,-,, 230 à 23,-,) et avec un résultat cumulé. E3) mémoriser le résultat de l'addition dans ledit accumulateur (24 à 28, 290 à 29a-1) après décalage de deux bits du contenu précédemment mémorisé dudit accumulateur. 9. Procédé de réalisation d'une opération S = (A*B)+(D*E), A et D étant deux nombres entiers codés sur a bits, B et E étant deux nombres entiers codés sur b bits, b étant un nombre entier pair, caractérisé en ce qu'il comporte les étapes suivantes : El) additionner dans des moyens d'addition (380 à 38,-,) les nombres A et D et fournir un résultat A+D, E2) sélectionner, d'une part, "0", A, D ou A+D" en fonction d'un bit par de B et d'un bit pair de E et sélectionner d'autre part, "0", A, D ou A+D en fonction d'un bit impair de B et d'un bit impair de E, E3) additionner dans un accumulateur (24 à 28, 290 à 2 9i:,-,) la donnée provenant de la première sortie des moyens de sélection (350 à 35#,-j, 36() à 36,,-,) avec deux fois la donnée provenant de la deuxième sortie des moyens de sélection (350 à 35a-1, 360 à 36,,-,) et avec un résultat cumulé. E4) mémoriser le résultat de l'addition dans ledit accumulateur (24 à 28, 290 à 29,1) après décalage de deux bits du contenu précédemment mémorisé dudit accumulateur.