FR2563349A1 - Multiplieur matriciel systolique de traitement de donnees numeriques - Google Patents

Multiplieur matriciel systolique de traitement de donnees numeriques Download PDF

Info

Publication number
FR2563349A1
FR2563349A1 FR8406140A FR8406140A FR2563349A1 FR 2563349 A1 FR2563349 A1 FR 2563349A1 FR 8406140 A FR8406140 A FR 8406140A FR 8406140 A FR8406140 A FR 8406140A FR 2563349 A1 FR2563349 A1 FR 2563349A1
Authority
FR
France
Prior art keywords
matrix
multiplier
registers
systolic
elementary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8406140A
Other languages
English (en)
Other versions
FR2563349B1 (fr
Inventor
Carlac H Jean-Claude
Jean-Luc Sicre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Etat Francais
Original Assignee
Etat Francais
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Etat Francais filed Critical Etat Francais
Priority to FR8406140A priority Critical patent/FR2563349B1/fr
Publication of FR2563349A1 publication Critical patent/FR2563349A1/fr
Application granted granted Critical
Publication of FR2563349B1 publication Critical patent/FR2563349B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

LE MULTIPLIEUR, UTILISABLE NOTAMMENT POUR LE MATRICAGE ET LE DEMATRICAGE DE SIGNAUX VIDEO NUMERIQUES, PERMET DE REALISER UNE OPERATION NUMERIQUE DU TYPE AX BY CZ. IL COMPORTE UN PREMIER ENSEMBLE MAT1 CONSTITUE D'UNE MATRICE DE CALCUL SYSTOLIQUE A N N CELLULES ELEMENTAIRES (N ETANT LE NOMBRE D'EBS DE CODAGE) REALISANT CHACUNE UNE OPERATION MATRICIELLE ELEMENTAIRE AX BY CZ, ALIMENTANT UN SECOND ENSEMBLE DESTINE A LA PROPAGATION DES RETENUES ET DES RESULTATS DES CALCULS ELEMENTAIRES D'OBTENTION DES EBS DE POIDS FORT, LE SECOND ENSEMBLE MAT2 ALIMENTANT A SON TOUR UN TROISIEME ENSEMBLE CONSTITUE PAR UNE MATRICE TRIANGULAIRE A N LIGNES DE REGISTRES DE PRESENTATION DES EBS DE POIDS FORT SUR DES SORTIES CORRESPONDANTES.

Description

Multiplieur matriciel systolique de traitement de données numériques
L'invention a pour objet un multiplieur matriciel systolique, permettant de réaliser de façon simple, répétitive et rapide, une opération numérique de type
A*X + B*Y + C*Z (1) où A, B et C sont des variables d'entrée et X, Y et Z sont des coefficients qui peuvent être figés ou au contraire programmables.
Un tel multiplieur est utilisable pour traiter des données et des variables numériques codées sur un nombre d'éléments binaires (ebs ou bits) quelconque. Il trouve une application particulièrement importante dans le traitement de signaux numériques video, notamment pour le matriçage et le dématriçage de tels signaux ; parmi les autres applications possibles, on peut citer le filtrage d'images en temps réel et l'extraction de contours. Il faut à ce sujet noter que l'opération réalisée peut avoir un nombre de termes supérieur à trois et notamment être de la forme
A*X + B*Y + C*Z + D*W.
On sait qu'un système systolique est ainsi dénommé du fait de ltanalogie de son fonctionnement avec la distribution du sang sous la commande des battements du coeur. Un multiplieur systolique permettant de réaliser l'opération numérique A*X + B*Y + C*Z a été décrit par Kung dans "Why systolic architectures ?" - IEEE
TRANSACTIONS ON COMPUTERS, Janvier 1982, numéro spécial sur le calcul en parallèle. Ce multiplieur utilise trois multiplieurs dans trois cellules différentes. Il est donc très complexe. Il en est de même des combinaisons de multiplieurs numériques travaillant sur 8 et 16 ebs actuellement disponibles : la constitution d'un multiplieur effectuant l'opération A*X + BIY + C*Z sur des données codées sur 8 ebs exige trois multiplieurs et deux additionneurs.
L'invention vise à fournir un multiplieur matriciel systolique permettant de réaliser une opération du type A*X + B*Y + C*Z à une rapidité compatible avec les exigences du traitement video numérique, réalisable de façon industrielle avec intégration sur microplaquette de silicium, à un coût plus faible que par association de composants standard et avec une dissipation de puissance moindre.
Pour cela, l'invention propose un multiplieur qui, loin de se borner à juxtaposer des circuits existants, associe suivant une approche originale et de façon répétitive des cellules unitaires simples, aisément réalisables en technologie N-MOS à longueur de canal faible (typiquement 3 Rm) permettant d'atteindre une fréquence d'environ 20 MHz, dans lesquelles la méthode systolique est mise en oeuvre au niveau de l'élé- ment binaire.
Le multiplieur comporte un premier ensemble constitué d'une matrice de calcul systolique à n x n cellules élémentaires (n étant le nombre d'ebs de codage) réalisant chacune une opération matricielle élémentaire A*X + B*Y + C*Z, alimentant un second ensemble destiné à la propagation des retenues et des résultats des calculs élémentaires d'obtention des ebs de poids fort ; ce second ensemble alimente è son tour un troisième ensemble constitué par une matrice tri an- gulaire à n lignes de registres de présentation des ebs de poids fort sur des sorties correspondantes.
Les registres, qui constituent l'élément de base d'une telle architecture, apportent un avantage important : ils peuvent être conçus pour autoriser un test du multiplieur par chargement en série de tous les registres puis déchargement identique après un cycle de l'horloge qui les commande.
L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers d'exécution donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels
- les Figures 1A et 1B dans leur ensemble sont un schéma fonctionnel général d'un multiplieur suivant l'invention permettant de traiter des variables et des coefficients codés sur 8 ebs ;
- la Figure 2 est un schéma fonctionnel interne d'une cellule de base, désignée par CEL1, du premier-ensemble du multiplieur;
- les Figures 3, 4 et 5 sont des schémas fonctionnels de cellules élémentaires CEL 2, ADD et RG du second ensemble du multiplieur ;
- la Figure 6 est un schéma électrique de la cellule RG de la Figure 5.
Le multiplieur montré en Figure 1 peut être regardé comme constitué de trois ensembles MAT 1, RET 2 et RG 3.
Le premier ensemble MAT 1 reçoit en parallèle, à partir d'un bus à 24 fils, les trois variables A, B et C sur des entrées identifiées par Aû, BO, CO,... A7, 87,
C7. Il reçoit également les coefficients constants h partir de 24 fils de programmation selon le même format que les variables. Cet ensemble MAT 1 est constitué d'une matrice à 8 lignes et 8 colonnes de cellules élé- mentaires CELl(i,j), où i et i varient de O h 7, h laquelle sont ajoutés (sur la gauche de la Figure) huit registres 8.
L'ensemble MAT 1 est une partie essentielle du multiplieur. Il constitue une matrice de calcul systolique dont chaque cellule CELl(i,j) réalise une opér tion matricielle élémentairp dont on pourra trouver une description complète dans la publication de CARLAC'H et autres "Description préliminaire des circuits intégrés de matriçage et de dématriçage de signaux videonumériques", document du C.C.E.T.T. NT/CNR/VRE/29/83 de
Juin 1983.
La cellule élémentaire réalise les trois multiplications en parallèle. On supposera qu'elle traite des nombres binaires codes en complément à 2. Elle peut alors avoir la constitution montrée en Figure 2. La cellule comporte des registres dynamiques élémentaires 10 montés en série et qui peuvent être du type décrit plus loin en faisant référence aux Figures 5 et 6. Les sorties des registres attaquent un jeu de trois addition- neurs à retenue 12, 14 et 16, désignés par ADD3, et un additionneur simple 18, désigné par ADD2, par l'intermédiaire d'un jeu de portes. Les entrées et sorties sont désignées sur la Figure 2 par les mêmes symboles que sur la Figure 1, mais affectés d'indices indiquant la cellule d'origine ou de destination.
Des entrées "TEST" sont prévues sur les registres 10, comme sur tous les autres registres RG du multiplieur. Ces entrées sont portées au niveau logique 0 lorsque le multiplieur doit fonctionner en mode de calcul. Dans ce cas, la relation combinatoire entre les entrées de données et les sorties S est la suivante pour la cellule CELl(i,j) :: S(i+l,j-1) + A(i,j-l)*X(i) + B(i,j-l5+Y(i) + ç(i,j#l)*Z(i) + Rl(i,J-l) + R2(i-l,j-1) = P2(i,j)22 +Rl(i,j)2 i + S(i,j)2 O
Les notations sont celles indiquées sur la Figure 2 et toutes les données appliquées à une norme cellule appartiennent à l'ensemble 0,1
Le second ensemble RET 2 a pour fonction de terminer la propagation des retenues et les résultats des calculs intermédiaires pour l'obtention des ebs de poids fort (MSB).Il est constitué de vingt-deux cellules élémentaires CEL2 (Figure 3), groupées en une matrice triangulaire de 8 colonnes et 4 lignes, associées à quatre additionneurs simples ADD (Figure 4) et à un registre RG (Figure 5).
Chaque cellule courante CEL2(i,j) peut avoir la constitution montrée en Figure 3, où les entrées et sorties sont encore désignées par les mêmes notations que sur les Figures précédentes, affectées d'indices indiquant l'origine ou la destination. Elle se compose de registres dynamiques 20 montés en cascade, d'un additionneur simple 22 et d'un additionneur à retenue 24.
De même, chaque cellule ADD (Figure 4) peut être constituée de deux registres dynamiques 26 en cascade dont les sorties attaquent un sommateur 28 fournissant le signal de sortie, dirigé vers la première cellule
CEL2 d'une ligne (pour quatre des cellules ADD), fournissant le dernier élément binaire de poids fort 57 du résultat (pour la dernière cellule ADD).
Enfin, le registre RG a une constitution qu'on peut retrouver dans les registres du troisième ensemble RG3. Du point de vue fonctionnel (Figure 5), il peut être considéré comme constitué d'inverseurs 30 reliés par des interrupteurs commandés par des horloges de cadencement non recouvrantes à l'état haut (indiquées par F1 et F2) et le signal de test. Il peut avoir la constitution électrique montrée en Figure 6 oh les entrées-sorties portent les mêmes références que sur la
Figure 5.
Enfin, le troisième ensemble RG3 est destiné a fournir les ebs de poids fort du résultat sur des sorties SO-S6. Il est constitué d'une matrice triangulaire à 7 lignes et 4 colonnes de dixKneuf registres RG qui peuvent être identiques è ceux montrés par les
Figures 5 et 6. Les registres RG sont commandés par les mêmes horloges que les registres des cellules déjà dé- crites. Ils permettent le fonctionnement systolique du multiplieur.
Le rôle des composants apparaîtra mieux en considérant le fonctionnement global du multiplieur, qui sera maintenant évoqué.
Les huit cellules d'entrée CELlCO,i > qui reçoivent chacune trois ebs de poids identiques Ai, Bi,
Ci des variables d'entrée, traitent cas ebs au niveau haut de l'horloge F1 qui suit la présence des ebs sur le bus d'entrée.
Les trois entrées de coefficient de chaque cellule CELl(i,j) (entrées horizontales sur la Figure 1) reçoivent les coefficients selon le même format que les variables, c1est-à-dire le triplet Xi, Vi, Zi des ebs de même poids pour toutes les cellules d'une même colonne i. En d'autres termes, les cellules CELl(O,i) a CEL1(7,i) reçoivent les mêmes ebs Xi, Yi, Zi.
A chaque niveau haut de l'horloge Fl, un nouveau triplet de variables numériques A, B, C est introduit dans la première ligne de cellule CELl(O,i > . Les résultats partiels se propagent dans le multiplieur au rythme du signal d'horloge. La traversée synchrone des treize étages successifs est assurée par les registres RG commandés par la double horloge F1 et F2 ne présentant pas de recouvrement à l'état haut
A chaque cycle d'horloge, après traversée de tous les étages, les résultats de l'opération AXX + B*Y + C*Z sont présents sur les fils de sortie so à 57 (Figure 1). Les sorties PO à P9 qui reprssentent les poids faibles du résultat. sur 17 ebs ne sont pas prises en compte dans le cas montré en Figure 1.Elles pourraient ltêtre en augmentant la tailla de l'ensemble
RG3.
L'opération logique est donc effectuée an 13 cycles d'horloge pour des données (variables et coefficients codées sur 8 ebs. Il s'y ajoute le cycle d'horloge de l'étage de sortie du circuit intégré.
En mode "calcul" (traitement continu de données numériques), tout se passe comme si l'opérateur effectuait un calcul à chaque cycle d'horloge.
Il peut être utile à ce stade de faire apparattre le fonctionnement de chaque cellule élémentaire
CELl(i,j) en mode "calcul" et en mode "test".
En mode calcul (Figure 2), lorsque l'entrée "test" est au niveau logique zéro, les entrées de données de la cellule d'ordre (i,j)
S(i+l, j-l)
Rl(i, j-l)
A (i, j-1)
B (i, j-l)
C (i, j-l)
R2(i-1, j-l) sont chargées dans les registres 10 lorsque l'entrée d'horloge F1 est à 1, l'entrée F2 étant alors à O.Chaque registre 10 continue à mémoriser dans sa partie esclave la valeur binaire de l'entrée quand F1 repasse à 0 et que F2 reste à o. Les sorties des registres 10 prennent les valeurs des entrées précédemment chargées quand l'horloge F2 passe à 1 et que F1 reste à O. Les sorties sont alors calculées dans le réseau combinatoire constituée des quatre additionneurs 12, 14, 16 et 18
Cette découpe fonctionnelle du réseau combinatoire est optimale du point de vue de la minimisation de la consommation en courant et de la minimisation de la surface de la cellule intégrée sur semiconductaur.La cellule CEL1 assure néanmoins une rapidité compatible avec la fréquence de 20 MHz des horloges biphasées (Fl,
F2) non recouvrantes à l;6tat 1.
Comme on l'a déjà indiqué plus haut, il est important du point de vue de l'industrialisation que le multiplieur puisse être complètement testé de façon simple. Ce résultat est atteint, dans l'invention, en prévoyant une entrée de test qui permet, lorsqu'elle est mise au niveau logique 1, de modifier le sens des transferts d'information dans les cellules.
Lorsque l'entrée TEST est à zéro, tous les registres RG sont connectés en parallèle (mode de calcul). Lorsque l'entrée TEST est à 1, tous les registres
RG sont connectés en série, ce qui permet
- de charger tous les registres RG avec l'entrée marquée "Entrée série", après des décalages commandés par (Fl, F2). Le contenu des registres RG est donc observable à la sortie "Sortie série" de la cellule, ce qui rend le test des registres RG très simple, exhaustif et rapide,
- de positionner les sorties des registres Rf; afin de présenter tous les cas possibles de con figura- tions des entrées logiques du réseau d'additionneurs.
Après chargement dans les registres des cellules suivantes, les résultats logiques du réseau d'additionneurs sont observables sur la sortie "Sortie série", après des décalages commandés par (F1, F2). Le test de la cellule pour vérifier qu'elle assume la fonction combinatoire requise est donc également simple, exhaustif et rapide.
L'invention est susceptible de nombreuses variantes et peut s'étendre à la réalisation d'un opérateur à plus de trois termes et au traitement de données numériques codées sur un nombre d'ebs quelconque.
Il faut remarquer à ce sujet que l'augmentation de trois à quatre du nombre de termes n' accroît ni la taille, ni la complexité du schéma global. On passe à l'opérateur a quatre termes
A*X + B*Y + C*Z + D*W par une modification mineure de l'additionneur 18 à deux entrées (Figure 2) pour le transformer en un additionneur è trois entrées et conduire la cellule élémentaire à remplir la relation combinatoire
S(i+j,j-l); ;+ A(i,j-l)*X(l) + B(i,j-l)*Y(i) +
C(i,j-l)*Z(i) + D(i,j-l)*W(j) + Rl(i,j-l) + R2(i-l,j-1) R2(i,j)2 2 + Rl(i,j)21 + S(i,j)2
Quant à l'augmentation du nombre d'ebs de co- dage, elle conduit à modifier uniquement la taille, et non la structure, du multiplieur. Le temps de calcul instantané n'est pas modifié : seul le nombre de cycles d'horloge nécessaire au calcul complet varie avec la taille de l'opérateur.
L'implantation du multiplieur en technologie
N.MOS sur silicium en un seul circuit intégré peut se faire sans difficulté et on notera l'avantage que représente le fait que les connexions aient lieu entre cellules mitoyennes.

Claims (7)

REVENDICATIONS
1. Multiplieur matriciel systolique permettant de réaliser une opération numérique du type
A*X + B*V + C*Z caractérisé en ce qu'il comporte un premier ensemble (MAT1) constitué d'une matrice de calcul systolique à n x n cellules élémentaires (n étant le nombre d'ebs de codage) réalisant chacune une opération matricielle élémentaire A*X + B*Y + C*Z, alimentant un second ensemble destiné à la propagation des retenues et des résultats des calculs élémentaires d'obtention des ebs de poids fort, le second ensemble (MAT2) alimentant à son tour un troisième ensemble constitué par une matrice triangulaire à n lignes de registres de présentation des ebs de poids fort sur des sorties correspondantes.
2. Multiplieur matriciel systolique suivant la revendication 1, caractérisé en ce que chaque cellule (CELl) du premier ensemble comporte des registres dynamiques (10) connectables en série ou en parallèle, dont les sorties attaquent quatre additionneurs.
3. Multiplieur matriciel systolique suivant la revendication 1 ou 2, caractérisé en ce que le second ensemble (MAT2) est constitué par une matrice triangulaire à n colonnes de cellules élémentaires (CEL2) associées à des additionneurs simples (ADD) et à un registre dynamique.
4. Multiplieur matriciel systolique suivant la revendication 3, caractérisé en ce que chaque cellule (CEL2) du second ensemble se compose de registres dynamiques (20) montés en cascada, d'un additionneur è deux entrées (22) et d'un additionneur à trois entrées (24).
5. Multiplieur matriciel suivant l'une quelron que des revendications 1 à 4, caractérisé en ce que le troisième ensemble (RG3) est constitué d' une matrice triangulaire à n-l colonnes de registres commandés, en même temps que les autres registres du multiplieur par deux horloges synchrones de cadencement non recouvrantes à l'état haut, permettant le fonctionnement systolique et formant les ebs de poids fort du résultat.
6. Multiplieur matriciel suivant l'une quelconque des revendications 2 à 5, caractérisé en ce que tous les registres sont munis d'une entrée de test permettant de modifier les transferts d'information dans les cellules.
7. Multiplieur matriciel suivant l'une quelconque des revendications précédentes, caractérisé en ce que chaque cellule élémentaire (CELl) du premier ensemble est prévue pour réaliser entre ses entrées E et ses sorties S la relation combinatoire : S(i+1,j-l) + A(i,j-l)*X(i) + B(i,j-l)*Y(i) +
C(i,j-1)*Z(i) + Rl(i,3-l) + R2(i-l,j-1) : R2(i,j)22 +Rl(i,j)21 + S(i,j)20.
FR8406140A 1984-04-18 1984-04-18 Multiplieur matriciel systolique de traitement de donnees numeriques Expired FR2563349B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8406140A FR2563349B1 (fr) 1984-04-18 1984-04-18 Multiplieur matriciel systolique de traitement de donnees numeriques

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8406140A FR2563349B1 (fr) 1984-04-18 1984-04-18 Multiplieur matriciel systolique de traitement de donnees numeriques

Publications (2)

Publication Number Publication Date
FR2563349A1 true FR2563349A1 (fr) 1985-10-25
FR2563349B1 FR2563349B1 (fr) 1989-04-28

Family

ID=9303277

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8406140A Expired FR2563349B1 (fr) 1984-04-18 1984-04-18 Multiplieur matriciel systolique de traitement de donnees numeriques

Country Status (1)

Country Link
FR (1) FR2563349B1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686645A (en) * 1983-07-28 1987-08-11 National Research Development Corporation Pipelined systolic array for matrix-matrix multiplication
EP0418412A1 (fr) * 1989-09-20 1991-03-27 Deutsche ITT Industries GmbH Circuit de calcul de somme de produits
US7392275B2 (en) 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COMPUTER, vol. 15, no. 1, janvier 1982, pages 37-46, Long Beach (USA); *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 25, no. 8, janvier 1983, pages 4125-4127, New York (USA); *
IEEE TRANSACTIONS ON COMPUTERS, vol. C-32, no. 7, juillet 1983, pages 684-688, New York (USA); *
IEEE TRANSACTIONS ON COMPUTERS, vol. C-33, no. 4, avril 1984, pages 357-360, New York (USA); *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686645A (en) * 1983-07-28 1987-08-11 National Research Development Corporation Pipelined systolic array for matrix-matrix multiplication
EP0418412A1 (fr) * 1989-09-20 1991-03-27 Deutsche ITT Industries GmbH Circuit de calcul de somme de produits
US5111422A (en) * 1989-09-20 1992-05-05 Deutsche Itt Industries Gmbh Circuit arrangement for calculating product sums
US7392275B2 (en) 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction

Also Published As

Publication number Publication date
FR2563349B1 (fr) 1989-04-28

Similar Documents

Publication Publication Date Title
EP3660849A1 (fr) Circuit mémoire adapté à mettre en oeuvre des opérations de calcul
EP0368731B1 (fr) Procédé et circuit de filtrage de signal de représentation d'image
EP3084588B1 (fr) Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal.
EP0369854B1 (fr) Procédé et circuit de traitement par bloc de signal bidimensionnel d'images animées
EP0262032B1 (fr) Additionneur binaire comportant un opérande fixé, et multiplieur binaire parallèle-série comprenant un tel additionneur
EP1190344B1 (fr) Multiplieur de nombres complexes
EP0437876B1 (fr) Multiplieur série programmable
EP0298002A1 (fr) Mémoire de transposition pour circuit de traitement de données
FR2598833A1 (fr) Appareil pour estimer la racine carree d'echantillons numeriques
FR2850768A1 (fr) Dispositif electronique configurable a granularite mixte
FR2563349A1 (fr) Multiplieur matriciel systolique de traitement de donnees numeriques
EP0259231A1 (fr) Dispositif de détermination de la transformée numérique d'un signal
EP0796006A1 (fr) Procédé pour fournir une représentation d'une scène optique par transformation de Walsh-Hadamard et capteur d'image mettant en oeuvre ce procédé
EP0341097B1 (fr) Additionneur de type récursif pour calculer la somme de deux opérandes
EP0327445A1 (fr) Multiplieur numérique généralisé et filtre numérique mettant en oeuvre ce multiplieur
EP0175623A1 (fr) Dispositif de traitement en temps réel de signal numérique par convolution
FR2573562A1 (fr) Memoire vive et circuit d'interpolation lineaire en comportant application
EP0209446A1 (fr) Multiplieur pour la multiplication de deux nombres complexes
FR2650088A1 (fr) Procede pour la generation de schemas logiques de circuits multiplieurs parametrables a decodeur de booth au moyen d'un ordinateur et circuits multiplieurs correspondants
EP0238528B1 (fr) Sequenceur d'instructions pour microprocesseur a architecture en reseau
EP0376769B1 (fr) Dispositif à registres à décalage et à opérateurs de permutation pour la transposition matricielle ligne-colonne
FR3144687A1 (fr) Architecture de réseau neuronal pour un réseau systolique de processeurs et procédé de traitement de données utilisant un réseau neuronal
FR2491652A1 (fr) Dispositif pour l'execution d'une operation mathematique et differentes applications de ce dispositif
WO1994003869A1 (fr) Dispositif electronique pour l'analyse d'image et la vision artificielle
FR2650092A1 (fr) Procede pour la compilation de fonctions dans des circuits correlateurs

Legal Events

Date Code Title Description
ST Notification of lapse