Brevet FR2549622A1 — publié le 19850125

CELLULE ET CIRCUIT DE CALCUL A ARCHITECTURE SYSTOLIQUE UTILISANT DE TELLES CELLULES La présente invention concerne les calculs utilisant de forts débits de données, comme par exemple le traitement d'images La présente invention concerne plus particulièrement une cellule et un circuit de calcul à architecture systolique utilisant de telles cel5 lules. Pour augmenter la vitesse de calcul, il est connu, d'une part, de diminuer le temps d'exécution des opérations élémentaires, et d'autre part, d'exécuter un grand nombre d'opérations simuhianément. L'architecture systolique décrite dans H T KUNG "Why Systolic Architectures" IEEE Computer de janvier 1982, se prête particulièrement bien à la réalisation de circuits exécutant un grand nombre d'opérations simultanées Cette architecture utilise le traitement en parallèle et le traitement "pipeline" Des cellules de 15 calcul, avantageusement identiques, sont connectées les unes à la sortie des autres On dit qu'elles sont mises en cascade On dit qu'un circuit comportant des cellules mises en cascade utilise une architecture "pipeline" quand les résultats de calcul d'une cellule sont utilisés comme des données de calcul dans la cellule suivante Les 20 mêmes données utilisées aux divers stades du calcul, ne sont transférées qu'une fois d'une mémoire externe au circuit au début de chaque calcul La diminution du nombre d'accès à la mémoire diminue le temps de calcul. Quatre types de cellules cascadables et leurs variantes décrits 25 cidessous sont respectivement optimisés pour divers types de calculs comme par exemple le calcul de convolution, le calcul de corrélation ou le calcul de filtrage autorégressif. L'exécution de ces calculs exigeait donc la réalisation de quatre circuits Or, ces circuits sont souvent réalisés sous la forme 254962-t de circuits intégrés, LSI ou VLSI Pour de tels circuits, très spécialisés et voués à une faible diffusion, une part importante du prix provient de la conception et de la mise au point du circuit. L'invention se propose de réaliser une cellule unique qui, par un jeu 5 de commutations internes, permet de jouer le rôle successivement des quatre types de cellules. L'invention a principalement pour objet une cellule de calcul caractérisée par le fait qu'elle comprend notamment une ligne de données transmettant des informations comportant deux registres 10 mémoires; une ligne relie la sortie d'un de ces registres mémoires à un multiplexeur placé à l'entrée de l'autre registre mémoire de la ligne de transmission d'informations; une ligne relie un point intermédiaire entre lesdits registres mémoires à un multiplieur; une autre ligne de données comportant un registre mémoire est reliée à 15 une autre entrée du multiplieur; le multiplieur est relié à l'additionneur, l'additionneur est relié à un registre mémoire qui est lui-même relié par deux lignes de transmission d'informations, à deux commutateurs effectuant la connexion avec une ligne de transmission d'informations; le registre mémoire, se trouvant à la sortie de 20 l'additionneur, est relié à un multiplexeur constituant une entrée de l'additionneur, ce multiplexeur est relié par une ligne de transmission d'informations auxdits commutateurs. L'invention sera mieux comprise au moyen de la description ciaprès et des figures annexées, données comme des exemples non 25 limitatifs parmi lesquels: la figure 1, est un schéma d'une cellule RI; la figure 2, est un schéma d'une cellule R 2; la figure 3, est un schéma d'une cellule Wl; la figure 4, est un schéma d'une variante de réalisation de la 30 cellule Wl; la figure 5, est un schéma d'une cellule W 2; la figure 6 est un schéma d'une variante de réalisation de la cellule W 2; la figure 7 est un schéma de la cellule RW selon l'invention; la figure 8 est un schéma d'une variante de réalisation de la cellule RW selon l'invention; la figure 9 est un schéma d'une partie d'une troisième réalisation de la cellule RW selon l'invention; la figure 10 est un schéma d'un circuit utilisant des cellules selon l'invention. Sur les figures I à 10, on a utilisé les mêmes références pour désigner les mêmes éléments. Sur la figure 1, on peut voir une cellule appelée RI Les flots 10 d'informations sont représentés par les lignes de connexions, notamment 1, 2 et 3 Les flèches indiquent le sens d'écoulement des flots. Le fonctionnement des cellules sera expliqué dans le cas d'un calcul de convolution, étant bien entendu que cette cellule peut servir à d'autres types de calculs. Etant donné le noyau W = wl, W 2,, wi,, wk et un ensemble de coefficients X = x 1, x 2,, xi,,xn, on désire calculer la suite des k (n-k +)i z, avec zi = l Wm xi+m-l Les nombres xi, wi, et zi sont des nombres binaires, k est le cardinal de W, N est le cardinal de X, i et m sont des indices Les xi de X sont par exemple les valeurs numérisées d'échos radars W permet un filtrage en donnant une forme de filtre. Un cycle élémentaire d'une cellule correspond successivement 25 à une multiplication, une addition et un rangement dans un registre mémoire Tous les registres fonctionnent avec la même horloge, dont le temps de base correspond au temps du cycle élémentaire A chaque temps de cycle, les éléments de W et de X se déplacent dans des sens opposés, mais à la même vitesse, respectivement sur des 30 lignes 1 et 2, entre des registres mémoires respectivement 4 et 5 de cellules RI mises en cascade, formant un circuit Par la suite, les lignes 1 et 2 seront appelées lignes de données Deux éléments consécutifs de X et de W doivent être séparés par deux temps de cycle Ainsi les bons xi sont multipliés par les bons wi pour donner les zi La valeur zéro est intercalée entre deux éléments consécutifs de X et de W Avantageusement, on exécute les calculs sur deux ensembles X et X' différents qui donnent deux suites zi et z '. Avantageusement on coupe X et W en deux et l'on exécute 5 l'entrelacement de deux moitiés de X et W A la sortie du circuit systolique, on trie les valeurs, par exemple de la suite z 1, Z(n k+ 1)/2 ' Z 2 Z((n-k+l)/2)+ 1 ' Z 3 Un multiplieur 8 multiplie la valeur contenue dans le registre mémoire 5 par la valeur contenue dans le registre mémoire 4 Les 10 éléments xi de X, et wi de W sont transmis au multiplieur 8 respectivement par des lignes 12 et 11 Le multiplieur 8 est par exemple du type combinatoire Avantageusement, le multiplieur 8 est du type du multiplieur décrit dans la demande de brevet en France n 82 21627 déposée le 23 Décembre 1982 par la deman15 deresse Le résultat de la multiplication est ajouté par -un additionneur 9 à la valeur contenue dans un registre mémoire 7 qui contient les précédents termes de la somme donnant z A la dernière valeur I Wk de W, est associée un bit de commande r, qui commande la transmission du contenu du registre mémoire 7 à un registre 20 mémoire 6 placé sur la ligne 3 des résultats z -et remet le registre l mémoire 7 à zéro La valeur wk traverse successivement toutes les cellules et le bit de commande associé déclenche cette opération dans chaque cellule. Par la suite, cette ligne 3 sera appelée ligne des résultats. Un multiplexeur 10 transmet alternativement au registre 6 les valeurs contenues dans le registre 7 et les valeurs-contenues dans le registre 6 de la cellule RI précédente, transmises par la ligne 3. Dans la cellule RI, comme d'ailleurs dans la cellule R 2 illustrée par la figure 2, chaque résultat partiel de calcul de zi reste 30 dans une cellule et les éléments wi et xi se déplacent dans le circuit. Le nombre total de cellules nécessaires est alors égal au nombre de résultats désirés Les cellules RI et R 2 sont bien adaptées au calcul de fonction de corrélation. 254962-2 Sur la figure 2, on peut voir une cellule appelée R 2 La cellule R 2 a une structure semblable à la cellule RI, mais comporte sur la ligne de données I deux registres mémoires 4 et 41 De plus, les éléments de W et de X se déplacent dans le même sens Grâce à la 5 présence de deux registres mémoires 4 et 41 sur la ligne de données 1, le flot des éléments de W est deux fois moins rapide que le flot des éléments de X Ainsi, à chaque temps de cycle, on obtient la valeur zi désirée et ceci sans entrelacer deux suites. Dans une variante de réalisation, la cellule R 2 comporte un 10 registre mémoire 63 entre le multiplieur 8 et l'additionneur 9, retardant d'un cycle d'horloge l'addition de la valeur sortant du multiplieur 8 et celle contenue dans le registre mémoire 7. Sur la figure 3, on peut voir une cellule appelée Wl. A chaque temps de cycle, les éléments xi de X et les résultats 1.5 zi se déplacent dans des sens opposés mais à la même vitesse, I respectivement sur les lignes 2 et 3 entre des registres respectivement 5 et 7 des cellules Wl. Pour la cellule WI comme pour la cellule RI, deux éléments consécutifs de X doivent être séparés par deux temps de cycle. 20 Avantageusement, pour exécuter les calculs sur deux ensembles W et W', la cellule Wl comporte deux registres mémoires 4 et 41 contenant deux éléments wi et wi' de W et de W' Un multiplexeur 13 transmet alternativement le contenu du registre 4 et 41. Pour le calcul de convolution, les éléments wi de W restent 25 dans la même cellule Il en est de même pour la cellule W 2 représentée sur la figure 5 Avantageusement, on effectue le préchargement des registres 4 et 41 par des lignes de transmission d'informations pendant une interruption du calcul. Sur la figure 4, on peut voir une variante de réalisation de la 30 cellule Wl Cette cellule conserve les possibilités de calculs de convolution d'une cellule WI de type connu, tout en améliorant les performances pour le calcul de corrélation. Chaque élément zi de la suite Z, fonction d'intercorrélation des suites X et W, est obtenu par sommation de résultats partiels par rebouclage dans le circuit comportant les cellules Wl montées en cascade Des lignes de données 101 et 102 permettent de charger des valeurs dans un des registres mémoires 40 ou 41, l'autre étant utilisé pour le calcul; la commutation est faite par un multiplexeur 13. Dans une variante de réalisation, la cellule Wl comprend deux lignes supplémentaires 110 et 111 comportant respectivement des registres mémoires 42 et 43 ainsi qu'un multiplexeur 130 Avec cette variante de la cellule Wl, on peut exécuter les calculs de corrélation 10 de la suite X avec par exemple deux suites W et W', le choix étant fait grâce au multiplexeur 131. Sur la figure 5, on peut voir une cellule appelée W 2 Les éléments xi de X et les résultats zi se déplacent dans le même sens. Les résultats zi se déplacent deux fois plus vite que les éléments xi 15 et X, du fait que la ligne 2 des éléments xi de X comprend deux registres mémoires 5 et 51 Ainsi on obtient un résultat zi à chaque temps de cycle. La cellule W 2 est particulièrement intéressante pour le calcul de convolution. Sur la figure 6, on peut voir une variante de réalisation de la cellule W 2 adaptée au calcul de corrélation. Cette cellule comprend notamment deux lignes de données I et 102 comportant respectivement les registres mémoires 4 et 41 ainsi qu'une ligne de données 2 comportant les registres mémoires 5 25 et 51 Un multiplexeur 13 transmet alternativement les valeurs contenues dans les registres mémoires 4 et 41. Sur la figure 7, on peut voir une cellule appelée RW qui, par unjeu de commutations internes, peut jouer le r 8 le des cellules RI, R 2, Wl et W 2. Cette cellule est donc construite pour le calcul de convolution, de fonction de corrélation et de filtrage autorégressif. La cellule RW comprend une ligne de données I comportant deux registres mémoires 40 et 41 Une ligne 15 relie la sortie du registre mémoire 41 à un multiplexeur 14 placé à l'entrée du 254962-2 registre mémoire 40. Le point D de la ligne de données 1, intermédiaire entre le registre mémoire 40 et le registre mémoire 41, est relié au multiplieur 8 par une ligne 11 La ligne 2 comporte le registre mémoire 5. 5 La ligne 2 est reliée au multiplieur 8 par la ligne 12 Le multiplieur 8 est relié à l'additionneur 9 L'additionneur 9 est relié au registre mémoire 7 Le registre mémoire 7 est relié par une ligne 30 au point A 1 et par une ligne 31 au point B 2 L'entrée d'un multiplexeur 16 est reliée par une ligne 31 au point Bl et par une ligne 30 au point A 2. 10 Deux lignes sont numérotées 30 et 31 car le point A 2 est relié au point A 1 par l'intermédiaire des lignes 30 ou le point B 1 au point B 2 par l'intermédiaire des lignes 31 D'autre part, la sortie du registre mémoire 7 est reliée à une entrée du multiplexeur 16 par une ligne 18 Une sortie du multiplexeur 16 est reliée à l'additionneur 9. Dans une variante de réalisation, la ligne 3 comporte un registre mémoire 6 Un commutateur 39 permet d'éviter le registre mémoire 6, en passant par la ligne 630. Aux points E 1 et E 2, la ligne 3 comporte des commutateurs 17, permettant de relier respectivement des points E 1 et E 2 aux points 20 A 1 et A 2 ou aux points Bl et B 2. Pour faire jouer le rôle d'une cellule Wl à la cellule RW, on relie le point E 1 au point A 1 et le point E 2 au point A 2 Le flot des données dans la ligne 3 part du point E 2 vers le point E 1, à travers les lignes 30, le multiplexeur 16, l'additionneur 9 et le registre 25 mémoire 7 Pour obtenir alternativement deux valeurs par exemple d'éléments wi et wi de W et W' on boucle la sortie du registre mémoire 41 sur l'entrée du registre de mémoire 40 par l'intermédiaire de la ligne 15 et du multiplexeur 14. Pour faire jouer le rôle d'une cellule W 2 à la cellule RW, on 30 relie le point E 1 au point Bl et le point E 2 au point B 2. Le flot des données dans la ligne 3 va du point E 1 vers le point E 2 en traversant les lignes 31, le multiplexeur 16, l'additionneur 9 et le registre mémoire 7 La ligne I de la figure 7 joue le rôle de la ligne 2 de la figure 5 Le registre mémoire 6 est court-circuité 254962-2 grâce au commutateur 39. Pour faire jouer le rôle d'une cellule R 2 à la cellule RW, le point E 2 est relié au point B 2 Le multiplexeur 16 reboucle la sortie du registre mémoire 7 sur l'additionneur 9. Dans une variante de réalisation, la cellule RW selon l'invention comporte une ligne 36 et un commutateur 37 permettant d'éviter le registre mémoire 40 de la ligne des données I pour faire jouer à la cellule RW le rôle de la cellule RI. Pour effectuer le calcul des fonctions de corrélation, les 10 cellules RI et R 2 sont les mieux adaptées Mais ces deux cellules sont pénalisées par un deuxième registre mémoire 6 sur la ligne 3 des résultats, ce qui augmente le temps de calcul Mais le registre mémoire 6 ne sert qu'à faire sortir les résultats zi Or, dans la plupart des cas, dans le calcul des fonctions de corrélation, le l-5 nombre des termes sommés et donc le temps de calcul est grand devant le nombre de résultats calculés. Dans un tel cas, on peut arrêter les calculs pour sortir les résultats zi, ce qui correspond à éviter le registre mémoire 6 par la ligne 630 grâce au commutateur 39. L'entrée de chaque cellule RW comporte respectivement sur les lignes 1, 2 et 3 des points F 1, G 1, H 1 et les sorties des points F 2, G 2, H 2 La cellule RW selon l'invention est cascadable On relie entre elles les lignes 1, 2 et 3 des cellules successives Ainsi les points F 2, G 2, H 2 d'une cellule sont connectés, respectivement aux 25 points F 1, G 1, H 1 de la cellule suivante. Les commutateurs 17, 37 et 39 comprennent par exemple des bascules bistables. Sur la figure 8, on peut voir une variante de réalisation de la cellule RW permettant le calcul bidimensionnel Dans le cas de la 30 convolution par exemple, on se propose de calculer la suite des zij avec L zij= 51 Wq, 1 l Xi+q-l,j+l-l q= 1 i et q étant des indices de lignes et j et I étant des indices de colonnes L'ensemble W des wij se présente donc sous forme d'une 1 J matrice de dimensions Qx L. Une architecture traitant en parallèle Q chaînes de cellules 5 est limitée par le temps d'accès t à la mémoire contenant les données Dans ce cas, t doit être tel que t 25496 2 être égal ou supérieur au nombre des éléments de la matrice des données W, égal à Q x L Si N > Qx L, on forme une matrice constituée de la matrice de données complétée par des O pour que la taille de la nouvelle matrice Q' x L' soit égale à N La cellule RW 5 pour calcul bidimensionnel selon l'invention comprend une ligne de données I comportant deux registres mémoires 40 et 41 La sortie du registre mémoire 41 est reliée à l'entrée du registre mémoire 40 par l'intermédiaire de la ligne 15 et du multiplexeur 14 La ligne 112 comporte deux registres mémoires 42 et 43 Le registre mémoire 43 10 peut être évité par l'intermédiaire de la ligne 23 et du multiplexeur 22 La ligne 2 comporte un registre mémoire 5 Les lignes 1 et 112 sont connectées à une entrée du multiplieur 8 par l'intermédiaire du multiplexeur 19 Les lignes 2 et 112 sont connectées à une autre entree du multiplieur 8 par l'intermédiaire du multiplexeur 20 Le 1-5 circuit multiplieur 8 est relié à l'entrée d'un circuit additionneur 9. La sortie du circuit additionneur 9 est reliée à un registre mémoire 7 Le registre mémoire 7 est relié respectivement aux points A 1 et B 2 par les lignes 30 et 31 Le registre mémoire 7 est relié par l'intermédiaire de la ligne 18 au multiplexeur 16 Le multiplexeur 20 16 est, d'autre part, relié respectivement aux points A 2 et Bl par les lignes 30 et 31 Les points A 1 ou Bl et A 2 ou B 2 sont reliés respectivement aux points E 1 et E 2 de la ligne 3 par des commutateurs 17. Pour le calcul de convolution bidimensionnelle, o les éléments 25 wi de W restent dans les cellules, une cellule du type W 2 est la mieux adaptée Cette structure est obtenue avec la cellule RW de la figure 9 par un jeu de commutations internes Le multiplexeur 14 coupe la ligne 15 Le multiplexeur 22 coupe la ligne 23 Le multiplexeur 20 coupe la connexion de la ligne 112 à l'entrée du 30 circuit multiplieur 8 à laquelle est connectée la ligne 2. Pour le calcul de convolution, avec deux jeux d'éléments wi de W et w' de W', la cellule la mieux adaptée a une structure de type Wi Ce type de calcul trouve des applications notamment pour le traitement d'images lorsqu'il s'agit d'effectuer des calculs de gra- 254962-2 dient Pour obtenir ce type de cellule à partir de la cellule RW, le multiplexeur 22 détourne les données du registre mémoire 43 par la ligne 23 Le multiplexeur 19 coupe la connexion de la ligne 112 à l'entrée du circuit multiplieur 8 à laquelle est connectée la ligne I. Pour réaliser une structure de type R 2 à partir de la cellule RW, le multiplexeur détourne les données du registre mémoire 43 par la ligne 23 Le multiplexeur 19 coupe la connexion de la ligne 112 à l'entrée du circuit multiplieur 8 à laquelle est connectée la ligne 1 Le multiplexeur 14 coupe la ligne 1. Sur la figure 9, on peut voir une partie d'une variante de réalisation de la cellule RW selon l'invention comportant une mémoire 210 de coefficients Certaines lignes de données sont appelées deux fois lors du calcul de deux groupes adjacents de Q lignes de résultats Ainsi les Q-I dernières lignes de données 15 participant au calcul d'un groupe de Q lignes de résultats sont à nouveau utilisées pour le groupe suivant Les placer dans la mémoire 210 permet de diminuer le temps d'accès, tout en simplifiant l'adressage La mémoire de coefficients 210 est placée sur la ligne reliant la ligne 2 au multiplexeur 20 Un multiplexeur 220 et une ligne 61 20 permettent d'éviter la mémoire de coefficients 210 Sur la figure 9, les liaisons coupées sont représentées en pointillés La cellule RW sur la figure 9 a une structure de type W 2 La mémoire de coefficients 210 facilite les calculs de convolution dans lesquels les éléments wi de W doivent changer durant le calcul Ces calculs sont 25 particulièrement intéressants pour le traitement de modifications géométriques d'images par interpolation ou rééchantillonnage La mémoire de coefficients 210 de chaque cellule RW est chargée préalablement au traitement et les adresses se propagent par exemple par la ligne 1 Ainsi, le rythme de changement des éléments 30 wi de W au sein d'une même cellule peut être identique à celui des xi de X tout en évitant les résultats erronés dûs à un mauvais positionnement entre les éléments xi de X et wi de W. Une variante de réalisation des cellules RW des figures 7, 8 et 9 comprend, entre le circuit multiplieur 8 et le circuit additionneur 254962-2 9, un registre mémoire et une ligne placée en parallèle aboutissant à un multiplexeur permettant de passer par le registre mémoire ou d'éviter ce registre mémoire. Sur la figure 10, on peut voir une variante de réalisation du 5 circuit selon l'invention permettant d'effectuer des calculs sur des nombres complexes Pour ce faire, le circuit comprend deux paires de séries de cellules 202 selon l'invention En effet, i (Am+j Ai) (Bm +j i)=úAmr B m 5 Ar 5 m e +j t Am Bim + m 5 Aim Brm A B et étant les m r r m i m r imi r r parties réelles et Ai et Bl les parties imaginaires des nombres A et B Dans chaque série, les cellules sont connectées en cascade Les lignes de résultats 3 de chaque série sont reliées à des additionneurs/soustracteurs 203 Pour des calculs utilisant le même noyau W, il est intéressant, 15 à la place d'accéder à une mémoire externe à chaque début de calcul, de reboucler la sortie sur l'entrée Pour que wl, suive wk on place à la sortie, par exemple, des registres mémoires. Avantageusement, le circuit selon l'invention comprend des circuits intégrés. Avantageusement, le circuit selon l'invention est un circuit intégré. L'invention s'applique notamment au traitement des informations reçues par un radar. Les informations à traiter doivent être sous forme numérique 25 par exemple sour forme de nombres de 16 bits. REVENDICATIONS 1 Cellule de calcul caractérisée par le fait qu'elle comprend une ligne de données transmettant des informations ( 1) comportant deux registres mémoires ( 40, 41); une ligne ( 15) relie la sortie d'un de ces registres mémoires ( 41) à un multiplexeur ( 14) placé à 5 l'entrée de l'autre registre mémoire ( 40) de la ligne de transmission d'informations ( 1); une ligne ( 11) relie un point intermédiaire (D) entre lesdits registres mémoires à un multiplieur ( 8); une autre ligne de données ( 2) comportant un registre mémoire ( 5) est reliée à une autre entrée du multiplieur ( 8); le multiplieur ( 8) est relié à 10 l'additionneur ( 9), l'additionneur ( 9) est relié à un registre mémoire ( 7) qui est lui-même relié par deux lignes de transmission d'informations ( 30, 31), à deux commutateurs ( 17) effectuant la connexion avec une ligne de transmission d'informations ( 3), le registre mémoire ( 7) se trouvant à la sortie de l'additionneur ( 9) est relié à 15 un multiplexeur ( 16) constituant une entrée de l'additionneur ( 9), ce multiplexeur ( 16) est relié par des lignes de transmission d'informations ( 30, 31) auxdits commutateurs ( 17). 2 Cellule de calcul selon la revendication 1, caractérisée par le fait qu'elle comprend en plus une ligne de transmission d'infor20 mations ( 112) comportant deux registres mémoires ( 42, 43), un de ces registres mémoires étant évité par l'intermédiaire d'une ligne de transmission d'informations ( 23) et par un multiplexeur ( 22); un premier multiplexeur ( 20) relie la ligne de transmission d'informations ( 2) comportant un registre mémoire ( 5) à une entrée du 25 multiplieur ( 8); un second multiplexeur ( 19) relie la ligne de transmission d'informations ( 112) supplémentaire et la ligne de transmission d'informations ( 1) comportant deux registres mémoires ( 40, 41) à une autre entrée de multiplieur ( 8). 3 Cellule de calcul selon la revendication 2, caractérisée par 30 le fait qu'elle comprend en plus une mémoire ( 210) placée entre la ligne de transmission d'informations ( 2) comportant un registre 254962-2 mémoire ( 5) et le multiplexeur ( 20) se trouvant à une entrée du multiplieur ( 8); une ligne ( 61) et un multiplexeur ( 220) permettent d'éviter la mémoire ( 21). 4 Cellule de calcul selon l'une quelconque des revendications 5 1, 2 ou 3, caractérisée par le fait que la ligne qui relie le multiplieur ( 8) à l'additionneur ( 9) comporte un registre mémoire. Cellule de calcul selon l'une quelconque des revendications 1, 2, 3 ou 4, caractérisée par le fait que la ligne de transmission d'informations ( 3) reliée aux commutateurs ( 17) comporte un 10 registre mémoire ( 6); une ligne ( 630) et un commutateur ou un multiplexeur ( 39) permettent d'éviter ce registre mémoire ( 6). 6 Cellule de calcul selon l'une quelconque des revendications 1, 2, 3, 4 ou 5, caractérisée par le fait qu'elle comporte une ligne ( 36) et un commutateur ( 37) permettant d'éviter un des deux 15 registres mémoires ( 40, 41) de la ligne de données ( 1). 7 Circuit électrique caractérisé par le fait qu'il comprend au moins une cellule de calcul selon l'une quelconque des revendications 1, 2, 3,4, 5 ou 6. 8 Circuit électrique caractérisé par le fait qu'il comprend au 20 moins une série des cellules selon l'une quelconque des revendications 1, 2, 3, 4, 5 ou 6, connectées en cascade. 9 Circuit électrique caractérisé par le fait qu'il comprend deux paires de séries de cellules selon l'une quelconque des revendications 1, 2, 3, 4, 5 ou 6, des additionneurs/soustracteurs ( 203) étant 25 connectés aux sorties des lignes de transmission d'informations ( 3) de chaque série de cellules. Circuit électrique selon l'une quelconque des revendications 7, 8 ou 9 caractérisé par le fait que ce circuit est un circuit intégré.