FR 2591003 A1 19870605 FR 8517685 A 19851129 DISPOSITIF DE SOMMATION DE CARRES. La présente invention concerne un dispositif de sommation de carrés prévu pour calculer la somme des carrés de "n" nombres à "m" éléments binaires, n et m étant des nombres entiers supérieurs ou égaux à "1", dispositif constitué à par- tir d'un réseau systolique qui est formé de cellules identi- ques disposées en lignes et colonnes recevant des signaux d'un circuit de présentation des "n" nombres, et autour duquel sont disposes un premier circuit périphérique pour fournir des si- gnaux à la ligne supérieure, un deuxième circuit périphérique pour fournir des signaux à la colonne d'entrée, et enfin un circuit de sortie connecté à la ligne inférieure. Pour effectuer le carré d'un nombre, on peut utiliser un réseau systolique conçu pour exécuter l'opération de multiplication, le multiplicande et le multiplicateur étant alors dans ce cas, identiques. Il existe des applications, qui exigent un grand nombre de calculs de carrés, comme, par exemple, La quantifica- tion vectorielle, ce traitement consistant à déterminer parmi un ensemble de vecteurs de référence celui qui se rapproche le plus d'un vecteur donné à quantifier. On pourra consulter à ce sujet l'article de M.J. SABIN et R.M. GRAY intitulé "Product Code Vector Quanti- zers for Wave form and Voice Coding" paru dans l'IEEE Transac- tions on Acoustics, Speech, and Signal Processing, Vol. ASSP-32, N 3, juin 1984. Or il s'avère qu'un réseau systolique adapté pour les multi- plications ne l'est plus pour le calcul des carrés. Pour cela, un dispositif de traitement numérique pour calculer la somme des carrés de "n" nombres est remarqua- ble en ce que chaque ligne du réseau est affectée au calcul du carré de chacun des nombres, en ce qu'il est prévu des liai- - 2 - sons entre les lignes pour effectuer des reports de calcul de la ligne du dessus à la ligne du dessous et en ce que le cir- cuit de sortie est un organe d'addition fournissant le résul- tat à partir des reports de la dernième ligne. La description suivante, faite en regard des dessins annexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente un dispositif de somma- tion de carrés conforme à l'invention. La figure 2 représente la structure du réseau systolique convenant pour le dispositif de la figure 1. La figure 3 donne les références des broches d'entrées et de sorties des cellules constituant le réseau systolique de la figure 2. La figure 4 montre le détail de réalisation d'une cellule du réseau systolique. La figure 5 montre la structure des circuits ad- ditionneurs élémentaires convenant pour le circuit de sortie du réseau systolique. La figure 6 montre la structure d'un circuit d'horloge nécessaire pour le fonctionnement du dispositif de sommation de carrés de la figure 1. Les figures 7a, 7b, 7c, 7d, 7e, 7f, 7g et 7h sont destinées à représenter en fonction du temps l'évolution de différents signaux à l'intérieur du réseau systolique. La figure 8 est destinée à montrer le temps d'activité pour le calcul des différentes cellules de la pre- mière ligne du réseau. La figure 9 montre le détail d'un autre exemple de réalisation d'un circuit de présentation de donnée pour un réseau systolique avec un nombre réduit de colonnes. La figure 10 montre les modifications apportées au circuit de la figure 6 pour être compatible avec le circuit de la figure 9. 3 - La figure Il montre un réseau systolique avec un nombre réduit de colonnes. La figure 12 montre le détail de réalisation d'un circuit de sortie pour le réseau montré à la figure 11. La figure 13 est destinée à montrer le temps d'activité de calcul des différentes cellules de la première ligne du réseau de la figure 11. A la figure 1, on a représenté un dispositif de sommation de carrés conforme à l'invention par n = 5 et m = 7. Les différents nombres dont on peut évaluer le carré sont co- dés par sept éléments binaires, présentés élément binaire par élément binaire en commençant par l'élément binaire affecté du poids le plus faible, aux accès XEO, XE1, XE2, XE3 et XE4. On admet que cette présentation s'effectue au rythme de signaux H appliqués à une entrée HE d'un circuit d'horloge 10 et en plus, que cette présentation est validée par un signal V ap- pliqué à ce circuit d'horloge 10. Comme tout circuit logique le dispositif de sommation est muni d'une commande de remise à zéro 12 que l'on a représentée sous la forme d'un bouton-pous- soir; mais cette commande peut s'effectuer de tout autre ma- nière: par exemple c'est le circuit utilisateur qui peut fournir directement un signal logique pour provoquer cette re- mise à zéro. Le dispositif de sommation de carrés comporte un réseau systolique 14 dont le détail est représenté à la figure 2. A ce réseau systolique sont associés d'une part un premier circuit périphérique 16 fournissant différentes informations à des bornes YEO CEO, YE1 CE1, YE2 CE2, YE3 CE3, YE4 CE4, YE5 CE5, YE6 CE6 du réseau et d'autre part un second circuit péri- phérique 18 fournissant différentes informations à des bornes EFO, EF1, EF2, EF3 et EF4. De plus, on a prévu un circuit de présentation de nombre 20 servant d'interface entre les bornes XEO, XE1, XE2, XE3 et XE4 et les bornes XO,, X, X2, X3 et X4 du réseau 14, et un circuit de sortie 22. Le réseau systolique montré en détail à la figure 2 est constitué de trente cinq cellules identiques Ki,j; '"i" est un entier définissant la ligne o est située la cellule et varie de O à 4, tandis que -4- "j" est un entier définissant la colonne ou est située la cel- lule et varie de O à 6. La figure 3 représente en quelque sor- te le brochage de ces cellules. On distingue des broches d'en- tr&e verticales CI, YI, des broches de sortie verticales CO, YO, des broches d'entrée horizontales EFI et XI, des broches de sortie horizontales EFO, XO et enfin des broches d'entrée pour signaux de service HI et RSI. Les références de ces bro- ches ne sont pas portées sur la figure 2 afin de ne pas l'alourdir. Les broches CI, YI des cellules KO,O; KO,1; 10...; KO,6 sont connectées respectivement aux bornes CEO, YEO; CE1, YE1;...; CE6, YE6. Les broches EFI, XI des cel- lules KO,O; K1,0;...; K4,0 sont connectées respectivement aux bornes EFO, XO; EF1, X1;...; EF4, X4. D'une manière générale les broches d'entrée verticales sont connectées aux broches de sortie verticales de la ligne de cellule du dessus, les broches d'entrée horizontales sont connectées aux broches de sortie horizontales de la colonne située à gauche. Bien que l'on ait fait figurer les bornes CSO, YSO; CS1, YS1;...; CS6, YS6 connectées respectivement aux broches CO, YO des cel- lules K4,0; K4,1;...; K4,6, le circuit de sortie 22 n'est en fait connecté qu'aux bornes YSO, YS1,..., YS6. Conformément à l'invention, chaque ligne de cel- lule est affectée au calcul du carré de chacun des nombres, les liaisons entre les broches YI et YO sont utilisées pour effectuer le report de la ligne du dessus à la ligne du des- sous. Le circuit de sortie est un organe d'addition fournis- sant le résultat à la borne 30 à partir des signaux de report de la-dernière ligne. La présente invention repose sur les considéra- tions suivantes: soit un nombre B que l'on met sous la forme suivante: B = bm_.1.2m-1 + bm_2.2m-2 +... + b1.2 + b0 o les bj sont des éléments binaires (0 ou 1) alors: -5 B2 = b20 + (bo.b1 + bl.bo).2 + (bo.b2 + b21 + b2.bo)22 +... + 22m-2.b2m-1 En réunissant tous les doubles produits: (bi. bj + bj.bi).2i+j = bi.bj.2i+j+1 et puisque b2i = bi (bi = O ou 1), on peut écrire: B2 = bo-20 + 0.21 + (bo.b1 + bl).22 + (bo.b2 + 0).23 + (bo.b3 + bl.b2 + b2).24 + (bo.b4 + bl.b3).25 +.. ceci peut s'écrire en tenant compte des éventuelles retenues à propager: bm b3 b2 b1 b0 X bm... b3 b2 bl bo bo.bm... bo.b3 bo. b2 0 b0 bj.bm --------------- 0 b1 bm_1.bm bm bb2m-11...bbm+l bbm... bb3 bb2 bb1 bb0 o les bbi sont les éléments binaires de B2. Chaque ligne du réseau systolique va donc effectuer cette opération. Pour le calcul en complément à deux, on pourra se reporter à l'article intitulé "OPTIMISED BIT LEVEL SYSTOLIC ARRAY FOR CONVOLUTION" de J.V. Mc CANNY et al et paru dans IEE PROCEEDINGS, vol.131, Pt.F, N 6, OCTOBRE 1984, pages 632 à 637. L'opération ci-dessus, o bm est l'élément bi- naire représentant le signe "+" par "O" et le signe "-" par "1", s'écrit alors: - 6 - bm b3 b2 bl b0 x bm... b3 b2 bl b0 bo.bm... bo.b3 bo.b2 O b0 b1.bm --------------- 0 b1 bm-1 *bm bm O 0 1 0 O. 0 O bb2ml-.1 -bbm+1 bbm... bb3 bb2 bb1 bb0 o le trait porté au-dessus des produits d'éléments binaires signifie-que l'on considère le complément de ce produit. Chaque ligne du réseau systolique va effectuer aussi cette opération en complément à deux. Les différentes retenues vont se propager afin que le circuit de sortie puisse en fournir la somme. Pour cela, les cellules Ki,j (voir figure 4) du réseau systolique comportent une première bascule de type D 200 dont l'entrée D est reliée à la borne XI et dont la sor- tie Q est reliée à la borne XO. L'entrée d'horloge h est re- liée à l'entrée HI pour recevoir les signaux provenant du circuit d'horloge 10 de sorte que les éléments binaires sont transmis de l'entrée XI à la sortie XO selon la cadence de ces signaux. Une deuxième bascule de type D portant la référence 202 est prévue pour décaler dans le temps de la période T le signal de commande EF. L'entrée D de cette bascule 202 est reliée à l'entrée EFI et la sortie Q à la sortie EFO par l'intermédiaire d'une porte NON-ET 204 et d'un inverseur de signaux logiques 206, l'ensemble se comportant comme une porte "ET". Une troisième bascule 208 de type D est utilisée pour décaler de la même durée T le signal de commande à l'entrée CI. L'entrée D de la bascule 208 est reliée à l'entrée CI, / _ =/ i entrge h a l'entrée.II, la sortie Q a la sortie COo Les deux entrees de la porte NON-ET 204 sont respectivement reliées aux sorties Q et Q des bascules 202 et 208 Une quatrième bascule de type D 210 en combinaison avec un circuit logique 212 est utilis6e pour enregistrer iele'ent binaire rendu disponible la sortie de la bascule 200 L'entr6e D de la bascule 210 est reliée a la sortie-du circuit logique 212 par l'intermédiaire d'une morte NON-ET 214, cette Dorte 214 autorise la transmis- sion du signal de sortie du circuit logique 212 vers l'entrée D de la bascule 210 en fonction du signal logique à la sortie Q de la bascule 202 Le circuit 212 est en fait un circuit d'aiguillage qui sélectionne soit le signal à la sortie Q de la bascule 210, soit le signal à la sortie Q de la bascule 200. Cette sélection dépend du signal enregistré dans la bas- cule 208. Ce circuit 212 est composé de trois portes NOP=ET 220, 221 et 222 à deux entrées chacuneo La sortie de la porte 220 constitue la sortie du circuit 212; les deux entrées de cette porte 220 sont reliées aux sorties des portes 221 et 222, une des entrées de la porte 221 reçoit le signal à la sortie de la bascule 200, une des entrées de la porte 222 est rétrocouplée vers la sortie Q de la bascule 210. Le signal à la sortie Q de la bascule 208 est appliqu6 tel quel à l'autre entrée de la porte 222et par l'interm6diaire d'un inverseur 224 à l'autre entr6e de la porte 221. Les cellules Kij com- portent également un circuit d'addition 230 muni de deux en- trées d'opérande A et B, une sortie pour le résultat S, une entrée pour recevoir une retenue RI et une sortie Dour fournir une retenue RO. L'entrée A est connectée à la sortie d'une porte NON-ET 232 à deux entrées dont la première est connectée à la sortie d'une porte "OU- EXCLUSIF" 234 et dont la deuxième est connectée à la sortie d'une porte NON-ET 236 à deux en- trées. La première entrée de la porte 236 est connectée à l'entrée XI, la deuxième à l'entrée CI. La première des deux entr6es de la porte "OU-EXCLUSIF'" 234 est connectée à la sor- tie de l'inverseur 206 tandis que la deuxième entrée est re- liée à la sortie d'une porte NON-ET 238 à deux entrées respec- tivement reliées à la sortie Q de la bascule 200 et à la sor- tie Q de la bascule 210. Les portes 232, 234, 236 et 238 per- mettent que le signal logique SA suivant soit appliqué à l'en- trée A de l'additionneur 230: SA = CI.XI + (XO.F '+ EFO) ou: CI, XI, XO et EFO représentent les signaux aux bornes portant ces références, F le signal à la sortie Q de la bascu- le 210, et o: les symboles ".", "+" et "G" représentent les opéra- tions logiques ET, OU et OU-EXCLUSIF. L'entrée B de l'additionneur 230 est reliée à la borne YI, la borne RI à la sortie Q d'une cinquième bascule 240 de type D dont l'entrée D est reliée à la sortie RO de cet additionneur 230. Cette bascule 240 est destinée à emmagasiner la valeur de la retenue élaborée par le circuit 230 à la sor- tie RO et à la riappliquer à l'entrée RI. Une sixième bascule 242 de type D enregistre le résultat disponible à la sortie S pour le fournir à la sortie YO. Les entrées de ces bascules 240 et 242 sont reliées à la borne HI. On notera que toutes les entrées R de remise à zéro des bascules 200, 202, 208, 210, 240 et 242 sont reliées à l'entrée RSI. Le fonctionnement d'une telle cellule est le suivant: Il est tout d'abord rappelé que les bascules 200, 202, 208 et 242 servent respectivement au décalage, au rythme des signaux d'horloge appliqu5s à la borne HI: - des éléments binaires "bi" passant de XI à XO - de la valeur du signal passant de EFI à EFO - de la valeur du signal de retenue passant de CI à CO - de la valeur du signal passant de YI à YO, augment6e au pas- sage par la valeur du signal appliqué à l'entrée A de l'addi- tionneur 230. La bascule 210 enregistre les éléments binaires à la sortie XO en fonction des considérations suivantes, ba- sées sur la valeur de G (signal de sortie de la bascule 202) et de la valeur du signal CO, ce qui peut s'écrire: 9- - Si G = I E = 1 - Si G = 0 et CO = 1 E = XO - Si G = O et CO = O E = F donc: - Si G = O et CO = O, le signal à la sortie XO garde la valeur qu'il avait avant l'apparition de la transition "actif" du si- gnal H. - Si G = O et CO = 1, le signal à la sortie XO est enregistré dans la bascule 210. - Si G = 1 la bascule 210 est mise à zéro. On notera alors que pour CO = 1 l'él5ment binaire à la sortie XO est mémorisé dans la bascule 210 et que pour G = 1 la bascule 210 est reinitia- lisée. - L'additionneur 230 calcule la somme S. Si on se place avant l'arrivée d'une valeur "1" pour le signal CI, la bascule est à "O" et l'on a EFO = O, alors: S = YI () RT (o RT est la valeur du signal à la sortie de la bascule 240). Si on considère l'instant t o CI = 1, on peut écrire successivement: à t: CI = 1 S = YI + RT + XI à t + T: CI = O, F = O S = YI + RT à t + 2T: CI = O, F = bi S = YI + RT + bi.XO o T est la période de cadencement du traitement. Si on appelle t + KT l'instant o survient la valeur EFO = 1, alors: S = YI O RT + bi.XO puis CI = O, F = O, S = YI) RT. On notera que le signal EFO = 1 permet d'une part, de faire le complément du signal XO.F soit XO.F ce qui est nécessaire lorsque les nombres sont codés selon la numéro- tation en complément à deux et d'autre part, de remettre à zé- ro la bascule 210 pour le calcul suivant. - L'ensemble logique formé par la porte NON-ET 204 et l'inver- seur 206 permet d'arrêter le passage du signal logique venant de EFI lorsqu'on a simultanément CI = 1 et EFI = 1 (mais la bascule 210 est remise tout de même à zéro). En effet, si CI = - 10 - EFI = 1 la cellule reçoit le dernier élément binaire, c'est donc celui qui indique le signe. Il ne doit donc plus apparaî- tre de produit partiel. Or, à la période d'horloge suivante, en l'absence de cet ensemble logique, on aurait EFO = 1 d'o un produit partiel parasite XO.F = 1. Pour éviter ce produit partiel on utilise la fonction logique EFO = G.C0O, ce qui fait que EFO = 0 si CO = 1. Le premier circuit périphérique 16 est formé d'une série de douze bascules de type D 301, 302,... 312 mon- tées en registre à décalage. L'entrée de donnée de la bascule 301 reçoit un signal CE issu du circuit 10. Le signal CE est appliqué tel quel à l'entrée CEO du réseau 14, les signaux aux sorties des bascules 302, 304, 306, 308, 310 et 312 sont ap- pliqués aux entrées CE1, CE2, CE3, CE4, CE5 et CE6. A l'entrée YEO on applique un signal YE issu du circuit 10, tandis qu'aux entrées CE1, CE2, CE3, CE4, CE5 et CE6 on applique en perma- nence un signal de valeur logique "O". Le décalage du signal CE s'effectue au rythme des signaux H appliqués aux entrées d'horloge des bascules 301 à 312. L'entrée de remise à zéro de ces bascules reçoit le signal RS. Le deuxième circuit périphé- rique 18 est formé lui aussi de bascules D montées en registre à décalage. Ces bascules au nombre de quatre portent respecti- vement les références 321, 322, 323 et 324. L'ensemble de ces bascules reçoit un signal EFE issu du circuit 10 et appliqué tel quel à l'entrée EFO du réseau 14. Les signaux aux sorties des bascules 321, 322, 323 et 324 sont appliques respective- ment aux entrées du réseau systolique EF1, EF2, EF3 et EF4. Les entrées pour signaux d'horloge de ces bascules reçoivent le signal H et les entrées de remise à zéro le signal RS. Le circuit de présentation 20 est constitué par une liaison directe entre les bornes XEO et XO, par une bascu- le de type D 320 dont l'entrée de donnée est reliée à la borne XE1 et la sortie Q à la borne X1, par un ensemble de deux bas- cules D 321 et 322 montées en registre à décalage interconnec- tant les bornes XE2 et X2, par un ensemble de trois bascules D 331, 332, 333 montées en registre à décalage interconnectant - 11 - les bornes XE3 et X3 et par un ensemble de quatre bascules 341. 342, 343 et 344 interconnectant les bornes XE4 et X4. Les entrées d'horloge de ces bascules reçoivent le signal H, et l'entrée de remise à zéro le signal RS. Le circuit de sortie 22 est constitué par cinq circuits additionneurs elementaires 350, 3519 352e 353, 354 et 355 et par une bascule de type D 360 qui constitue ainsi sim- plement un circuit d'addition avec "'O". Ces circuits addition- neurs élémentaires sont munis de deux entrées d'opérande A et B qui sont reliées pour le circuit 350 a x bornes YSO et YS1, pour le circuit 352 aux bornes YS2 et YS3, pour le circuit 353 aux sorties S des circuits 350 et 351, pour le circuit 354 aux sorties S et Q du circuit 352 et de bascule 360 et pour le circuit 355 aux sorties S des circuits 353 et 354. La sortie S du circuit 355 constitue la borne de sortie 30. L'entrée D de la bascule 360 est reliée à la borne YS6. Les circuits addi- tionneurs élémentaires sont munis d'une entrée pour recevoir les signaux H et d'une entrée de remise à zéro pour les si- gnaux RS, tout comme la bascule 360. A la figure 5, on a représenté en détail la constitution d'un circuit additionneur élémentaire. Celui-ci est formé à partir d'un additionneur complet à 1 élément bi- naire portant la référence 400. Ce dernier est muni d'entrées d'opérande A1 et B1 qui constituent les entrées A et B du cir- cuit additionneur élémentaire. L'additionneur complet à un élément binaire est muni aussi d'une entrée pour retenue ClI connectée à la sortie d'une bascule de type D 410, d'une sor- tie C10 pour retenue connectée à l'entrée D de la bascule 410 et enfin d'une sortie de résultat S1 connectée à l'entrée D d'une bascule de type D portant la référence 412. La sortie Q de cette bascule constitue la sortie S du circuit additionneur élémentaire 350,..., 355. Les entrées d'horloge de ces bascu- les 410 et 412 reçoivent le signal H et leurs entrées de remi- se à zéro le signal RS. A la figure 6, on a représenté en détail la constitution du circuit 10. Ce circuit 10 est constitué à par- 2s 9103 - 12 - tir d'un compteur 450 comptant jusqu'à douze (ou plus généra- lement un compteur modulo "2(m-1)"). Il compte les transitions actives du signal H appliqué à la borne HE si le signal de va- lidation appliqué à la borne V a une valeur convenable. La borne V est reliée à l'entrée de remise à zéro de ce compteur 450. Ainsi si le signal appliqué en V ne valide pas le nombre, le compteur est maintenu à zéro; si ce signal valide le nom- bre le compteur est libéré et son contenu évolue depuis "0". Un premier décodeur 451 fournit le signal CE; celui-ci prend la valeur "1" pour le contenu égal à "0'" du compteur 450 et un deuxième décodeur 452 fournit le signal EFE; ce signal EFE prend la valeur "1" pour le contenu égal à six du compteur (plus généralement "m-1"). En notation binaire naturelle le signal YE = O; pour cela un commutateur à deux positions 455 impose, lorsqu'il est mis dans une première position, que YE = O. En notation en complément à deux, le commutateur 455 est mis dans sa deuxième position. Dans ce cas, le signal YE est le signal de sortie d'un circuit de retenue formé d'un regis- tre à décalage 457 contenant la valeur "n". La commande de dé- calage de ce registre s'effectuant aussi au rythme du signal H n'est autorisée que lorsque le contenu du registre est égal à six ou (m-1). Pour cela, on a prévu une porte ET 460 à deux entrées dont la première est reliée à la borne HE et la deu- xième à la sortie Q d'une bascule RS 462, la sortie de cette porte étant reliée à la commande de décalage du registre 457. L'entrée R de la bascule 462 est reliée à la borne V et la borne S à la sortie du décodeur 452. Pour comprendre l'utilité de ce signal YE il faut considérer l'opération représentée ci-dessus pour le cal- cul d'un carré en complément à deux; dans cette opération on voyait une ligne d'éléments binaires (la dernière) dans la- quelle se trouvait un seul "1" correspondant au poids 2m. Si on a à faire la somme de deux carrés il faudra additionner ces deux "1", c'est-à-dire que l'on devra faire apparaître (10)2m; si on a à faire la somme de 3 carrés, on aura alors (11)2m et ainsi de suite. On voit que la quantité entre paren- - 13 - thèses représente la valeur "n". Cette valeur "n" va donc être injectée dans le réseau systolique dès que l'on traitera les poids 2m. Aux figures 7a, 7b, 7c, 7d, 7e, 7f, 7g on expli- que comment se forme une sommation de carrés. Pour des raisons de simplicité le réseau systolique est formé seulement de deux lignes comportant 4 cellules chacune dont on ne représentera que les 3 premières. On se propose de calculer alors: B2 + C2 o B = b3.23 + b2.22 + bl.2 + b0 et C = c3.23 + c2.22 + c1.2 + co La figure 7a représente le réseau systolique à l'instant OT c'est-à-dire l'instant o l'élément binaire bo est présenté à l'entrée XI de la cellule KO,O. A cet instant, puisque le contenu du compteur 450 (figure 6) est nul, le si- gnal à la sortie du décodeur 452 est "1" CE = 1. La figure 7b représente le réseau systolique à l'instant 1T; à cet instant l'élément binaire b1 est appli-iué à l'entrée XI de la cellule KO, O tandis qu'à l'entrée XI de la cellule K1,0 c'est l'élément co qui est appliqué; le signal "1" se retrouve à la sortie Co de la cellule KO,O, ayant été enregistré dans la bascule 208 (figure 4) de cette cellule à l'instant OT. Le rectangle entourant la valeur O dans la cel- lule KO,O indique que le signal F (signal de sortie de la bas- cule 210) a la valeur "O". Le signal à la sortie YO de la cel- lule KO,O est bo; cette valeur est le résultat de l'addition, enregistré dans la bascule 242 (figure 4), représentant l'élé- ment binaire b0 se retrouvant à l'entrée A de l'additionneur 230 de la cellule KO,O avec la valeur "O" se retrouvant à l'entrée B de ce même additionneur. On remarque à cet instant 1T le signal à la sortie XO de KO,O représentant l'élément bi- naire bo. Comme le signal à la sortie co est "1", bo se re- * trouve à l'entrée D de la bascule 210, à l'instant 2T (figure 7c) b0 est enregistré dans la bascule 210 de la cellule KO,O. Sur cette figure 7c, on remarque qu'à la sortie YO de la cellule K1,0 on a le résultat b0 + co c'est-à-dire le premier élément binaire de la somme B2 + C2; ce premier élé- - 14 - ment binaire transitant par les additionneurs 350, 353 et 355 ne sera transmis à la borne 30 qu'après un temps égal à 3T, c'est-à-dire l'instant 5T. A la figure 7d on a représenté l'état des si- gnaux à cet instant 3T. Dans ce cas on a supposé qu'il y avait quatre éléments binaires à l'instant 3T. Le décodeur 453 (fi- gure 6) fournit un signal "1" qui est appliqué à l'entrée EFI de la cellule KO,0; ce signal va permettre d'effectuer le complément du produit bo.b3 (c'est-à-dire bo.b3) dans le cas o les nombres B et C sont représentés en complément à deux. Ce produit sera ex&cuté à l'instant 4T (figure 7e) et fourni à la sortie YO de la cellule KO,0 à l'instant 5T (figure 7f). Le signal "1" appliqué aux entrées EFI se transmet horizontale- ment dans la ligne en transitant dans les bascules 202 des cellules et se transmet verticalement en transitant dans les bascules du second circuit périphérique 18. Ainsi, on a à la sortie YO de la cellule KO,1 le produit b1.b3 à l'instant 6T (figure 7g) et le produit b2.b3 à la sortie YO de la cellule KO,2 à l'instant 7T (figure 7h). Ce signal de valeur "1" que l'on applique aux entrées EFI des cellules a aussi le rôle de remettre cellesci à zéro. Ainsi, on constate qu'à l'instant 4T (figure 7e) un signal de valeur logique "1" se trouve à la sortie EF0, ce qui provoque E = 1, le signal F à la sortie Q de la bascule 210 est donc "0", ce qui est indiqué dans le carré situé dans la cellule KO,0 de la figure 7f, puis succes- sivement, dans les cellules KO,1 (figure 7g) et KO,2 (figure 7h). Pour la ligne du dessous, cela se produit dans la cellule K1,0 à l'instant 6T (figure 7g) et dans la cellule K1,1 à l'instant 7T (figure 7h). Ainsi, le réseau systolique est prêt à recevo r de no veaux nombres pour effectuer la somme de leur carré. Il convient maintenant de finir d'examiner com- ment se forme la somme des carrés. A l'instant 2T le résultat bO + co est fourni à la sortie YO de la cellule K1,0; à l'instant suivant 3T comme le signal à l'entrée YI est "0", le signal à la sortie YO de cette cellule K1,0 est la valeur de - 15 - la retenue de b0 + co (ce qui donnera les deux premiers élé- ments binaires de la somme des carres). A l'instant 4T à la sortie YO des cellules KIO et K1,1 on a respectivement bo.b -s co.c1 et bI + c1 ce qui donnera alors le troisième élément binaire de la somme. On doit bien se rendre compte que dans ces sommes la retenue est enregistrée à tous les niveaux et que les additions s'effec- tuent élément binaire par élément binaire, celles-ci s'ajou- tent aux éléments binaires de plus fort poids de la somme. A l'instant 5T figure 7f, on voit apparaître à la sortie YO des cellules K1,0 et K1,1 les r6sultats respec- tifs: bo.b2 + cO.C2 et O, résultat tenant compte du report de retenue de l'addition précédente. A l'instant 6T on voit les résultats à la sortie YO des cellules K1,O K1, 1 et K1,2: bo.b3 + co.c3, bl.b2 + Cl.C2, b2 + c2- Dans la numérotation en complément à deux, il convient d'ajouter "n" aux éléments binaires de poids trois (ou de poids "m" si on se reporte à l'opération en complément à deux posée ci-dessus). Le "1" n'apparaît qu'à l'instant 5T (figure 7f) puisque ici, n = 10 en binaire. Il est intéressant de noter, en fonction du temps "t", les calculs effectués par les cellules. Sur la fi- gure 8 on a montré les calculs successivement effectués par la première ligne de cellules KO,O;...; KO,7. On voit que la succession des calculs se déroule de t = O pour la cellule KO,O au temps t = 12 pour les cellules KO,5 et KO,6 (le temps sur la figure 8 est compté en multiple de T). A la figure 9, on montre un autre exemple de structure d'un circuit de pr6sentation 20' co-venant pour une variante de réalisation d'un dispositif de sommation de carrés conforme à l'invention. Ce circuit comporte les mêmes éléments que ceux du circuit 20 représenté en détail à la figure 1. La figure 9 montre que l'on a ajouté cinq branches de décalage BRO, BR1, BR2, BR3 et BR4 qui s'intercalent respectivement en- tre les bornes XEO et XO, entre la sortie de la bascule 320 et ia borne X1, entre la sortie de la bascule 322 et la borne XZ2 - 16 - entre la sortie de la bascule 333 et la borne X3, et enfin en- tre la sortie de la bascule 344 et la borne X4. Comme ces cinq branches BRO à BR4 ont la même structure, seule la branche BRO est représentée en détail sur cette figure 9. Elle se compose de quatre bascules D montées en registre à décalage 501, 502, 503, 504 et d'un circuit d'aiguillage 510 formé d'un ensemble de trois portes NON-ET à deux entrées 511, 512 et 513 et d'un inverseur de signaux logiques 515. La sortie de la porte 511 constitue la sortie de la branche BRO. Les deux entrées de cette porte 511 sont connectées aux sorties des portes 512 et 513. Les premières entrées des portes 512 et 513 constituent les entrées du circuit d'aiguillage 510 et sont reliées pour l'une, directement à l'entrée de la branche BRO, ici cela cor- respond à la borne XEO, et pour l'autre à la sortie du regis- tre à décalage formé des quatre bascules 501, 502, 503 et 504 dont l'entrée D de la première est connectée à l'entrée de la branche. La commande de l'aiguillage s'effectue au moyen d'un signal DC appliqué directement à la deuxième entrée de la por- te 513 et appliqué à la deuxième entrée de la porte 512 par l'intermédiaire de l'inverseur de signaux logiques 515, Ce si- gnal DC est élaboré par le circuit d'horloge 10' montré en dé- tail à la figure 10. Ce circuit se distingue de celui montré à la figure 6 par le fait que les signaux EFE et CE sont trans- formés en signaux EFE' et CE' et que pour fournir le signal DC on a prévu une bascule de type RS 520 dont l'entrée S est re- liée à la sortie d'une porte OU 522 pour recevoir le signal CE', tandis que son entrée de remise à zéro reçoit le signal CE' fourni par une porte OU 524. Le signal DC apparaît à la sortie Q de cette bascule 520. Les deux entrées de la porte OU 522 sont reliées pour l'une à la sortie du décodeur 451 et pour l'autre à la sortie du décodeur 531. Les deux entrées de la porte OU 524 sont reliées pour l'une à la sortie du déco- deur 452 et pour l'autre à la sortie d'un décodeur 532. Le dé- codeur 531 fournit un signal actif pour un contenu du compteur 450 égal à 8 (m + 1 de façon générale) tandis que le décodeur 532 fournit ce signal actif pour un contenu égal à 10 (plus - 17 - généralement si on appelle ce contenu CMP: CMP = m + m 2 1 pour b impair CMP = m + 2 pour b pair). Avec ce circuit de présentation 20' montré à la figure 10 le réseau systolique de la figure 11 ne comporte plus que quatre cellules au lieu de sept pour effectuer les mêmes opérations, comme cela est représenté à la figure 11 o le réseau systolique comporte quatre colonnes de cellules K'O,O; K'1,0;...; K'4,0 K'0,1; K'1,1; -..; K'4,1 K'0,2; K'1,2;...; K'4,2 K'0,3; K'1,3;...; K'4,3. Cette réduction du nombre de colonnes est égale, c'est-à-dire que le nombre de colonnes en moins NCM est tel que: NMC = - 1 pour m pair NMC - m2- pour m impair. Pour un réseau systolique à quatre, le circuit de sortie mon- tré en détail à la figure 12 ne comporte plus que trois cir- cuits additionneurs élémentaires 600, 601 et 602. Les entrées A et B du circuit 600 sont connectées aux sorties YS'O et YS'1 du réseau de la figure 11 et les entrées A et B de 601 aux sorties YS'2 et YS'3. Les entrées A et B de 602 sont connec- tées aux sorties S des circuits 600 et 601. La sortie S du circuit 602 constitue la borne 30 du dispositif de sommation de carrés. Pour comprendre cette réduction de colonnes on se reporte à la figure 8 o est schématisé le fonctionnement de la première ligne du réseau systolique à sept cellules par li- gne. On constate qu'aux temps t = 6 ett = 8 seulement quatre cellules fournissent un résultat participant à la somme au carré. Le circuit 20' permet donc d'utiliser quatre cellules par ligne pour obtenir ce même résultat. On se reporte alors à - 18 - la figure 13. Sur cette figure on constate que du temps t = 0 au temps t = 6 les éléments binaires b0 à b6 sont appliques à l'entrée XI de la cellule K'0,0 puis à l'instant t7 on appli- que un "0" à cette entrée. Puis, à l'instant t8 le signal DC (figure 8) change de valeur, de sorte que l'élément binaire b4 transite de la sortie de la bascule 504 à l'entrée XI de la cellule K'0,0. Il convient de noter qu'à cet instant t8, le signal CE' prend la valeur "1" correspondant à un contenu "8" du compteur 450 décodé par le décodeur 531, puis les éléments binaires b4, b5 et b6 sont présentés à nouveau à l'entrée XI de la cellule K'O,0 aux temps t = 8 à t = 10. A l'instant t = 11, le signal DC prend la valeur "1" ce qui fait que l'on trouve à l'entrée XI la valeur "0", à l'instant t = 12 le cal- cul de la ligne supérieure est terminé. Il est intéressant de comparer les figures 12 et 13. Ainsi, la valeur b4 fournie par la cellule KO,4 est élabo- rée par la cellule K'O,O à l'instant t = 8; les valeurs b4.b5 et b5 fournies par les cellules KO,4 et KO,5 sont élaborées par les cellules K'0,O et K'0,1 respectivement à l'instant t = 10. La valeur b4.b6 fournie par la cellule KO,4 est élaborée par la cellule K'O,0 à l'instant t = 11 et enfin, les valeurs b5.b6 et b6 fournies par les cellules KO,5 et KO,6 sont élabo- rées par les cellules K'0,1 et K'0,2 respectivement. 2 A003 - 19 - REVENDICATIONS: 1. Dispositif de sommation de carrés prévu pour calculer la somme des carrés de "n" nombres à "m" éléments bi- naires, n et m étant des nombres entiers supérieurs ou égaux à "1" dispositif constitué à partir d'un réseau systolique qui est formé de cellules identiques disposées en lignes et colon- nes recevant des signaux d'un circuit de présentation des "n" nombres et autour duquel sont disposés un premie-r circuit pé- riph5rique pour fournir des signaux à la ligne supérieure, un deuxième circuit périphérique pour fournir des signaux à la colonne d'entrée, et enfin un circuit de sortie connecté à la ligne inférieure, caractérisé en ce que chaque ligne du réseau est affectée au calcul du carré de chacun des nombres, en ce qu'il est prévu des liaisons entre les lignes pour effectuer des reports de calcul de la ligne du dessus à la ligne du des- sous et en ce que le circuit de sortie est un organe d'addi- tion fournissant le résultat à partir des reports de la der- nière ligne. 2. Dispositif de sommation de carrés selon la re- vendication 1 fonctionnant au rythme d'une horloge à fréquence 1/T, caractérisé en ce que chaque cellule comporte un premier organe de retard pour retarder de T à un accès de sortie XO un élément binaire de données présenté à un accès d'entrée XI, un organe de multiplication pour pouvoir multiplier un élément binaire à l'accès de sortie avec un élément binaire contenu dans un organe de mémoire, un organe d'addition pour addition- ner un élément binaire présent à un accès d'entrée de report de calcul YI avec le résultat fourni par l'organe de multipli- cation et pour fournir un report à un accès de sortie YO. 3- Dispositif de sommation de carrés selon la re- vendication 2, caractérisé en ce que chaque cellule comporte en outre un deuxième organe de retard pour retarder de-T un accès de sortie CO, un élément binaire de commande présenté à un accès d'entrée CI pour l'enregistrement dans l'organe de mémoire de l'élément binaire de donnée à l'accès XO. - - 20 - 4. Dispositif de sommation de carrés selon la re- vendication 2 ou 3 destiné à des nombres en complément à deux, caractérisé en ce que chaque cellule comporte en outre un troisième organe de retard pour retarder de T, à un accès de sortie EFO, un deuxième élément binaire de commande présenté à un accès d'entrée EFI pour former le complément du résultat fourni par l'organe de multiplication. 5. Dispositif de sommation de carrés selon les re- vendications 1 à 4, caractérisé en ce que 1e premier circuit périphérique est formé d'une série d'organes de retard pour retarder de 2T l'élément binaire de commande formé à l'appari- tion du premier él6ment binaire de données et pour fournir cet élément aux entrée CI des cellules de la première ligne. 6. Dispositif de sommation de carrés selon les re- vendications 1 à 4 destiné à des nombres en complément à deux, caractéris6 en ce que le deuxième circuit périphérique est formé d'une série d'organes de retard pour retarder de T le deuxième élément binaire de commande form6 à l'apparition du mième élément binaire de données. 7. Dispositif de sommation de carrés selon les re- vendications 1 à 6, caractérisé en ce que le circuit de pré- sentation est formé de "n" séries d'organes de retard affec- tées chacune à une entrée d'élément de données des cellules de la colonne d'entrée, ces "n" organes procurant respectivement un retard de 0, T,... (n-1)T, tandis que le réseau systolique est formé de "m" colonnes. 8. Dispositif de sommation de carrés selon les re- vendications 1 à 6, caractérise en ce que le circuit de pré- sentation est formé de "n" séries d'organes de retard affec- tges chacune à une entrée d'élément de données des cellules de la colonne d'entrée, ces "n" organes procurant respectivement un retard de 0, T,... (n-1)T, et de "n" branches connectées en sortie de ces "n" séries d'organes de retard pour appliquer dans un premier temps directement les "m" éléments binaires de données à la colonne d'entrée et dans un deuxième temps pour appliquer les k derniers éléments binaires après un temps T - 21 - suivant l'apparition du dernier élément binaire de données (k = (m-1)/2 pour m impair et k = (min/2)-1 pour m pair) tandis que le réseau systolique est formé de (m-k) colonnes. 9. Dispositif de sommation de carrés selon les re- vendications 1 à 8 destiné à des nombres en complément à deux, caractérisé en ce qu'il est prévu un circuit de retenue pour fournir en série le nombre "n" à l'entrée YI de la première cellule de la colonne d'entrée. I0