Brevet FR3045893A1 (20170623)
REVENDICATIONS1. Circuit électronique apte à l'implémentation de réseaux de neurones, caractérisé en ce qu'il comporte au moins : - Une série de blocs de calcul (1) aptes à implémenter chacun un ensemble de neurones ; - Un bloc (6) de transformation relié auxdits blocs de calcul (1) par un moyen de communication (2,\n<CLM>\1\tet apte à être relié en entrée dudit circuit (10) à un bus de données externe (7), ledit bloc de transformation (6) effectuant la transformation du format des données d'entrée et transmettant lesdites données à tout ou partie desdits blocs de calcul (1) au moyen de K canaux de communication indépendants (21, 22, 23, 24), un mot de donnée d'entrée (M1) étant découpé en sous-mots (SM11, SM12, SM13, SM14) de sorte que lesdits sous-mots sont transmis sur plusieurs cycles de communication successifs, un sous-mot étant transmis par cycle de communication sur un canal de communication (21) dédié audit mot (M1) de sorte que lesdits K canaux sont aptes à transmettre parallèlement K mots (M1, M2, M3, M4) en plusieurs cycles de communication.\n<CLM>\1\tCircuit électronique selon la revendication 1, caractérisé en ce que ledit moyen de communication (2,\n<CLM>\1\test apte à router ou à diffuser les données transmises par lesdits K canaux vers un ou plusieurs desdits blocs de calcul (1).\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque bloc de calcul (1) comporte au moins un module de calcul (35) incorporant : - des processeurs élémentaires (PE) en parallèle apte à implémenter chacun les opérations d'un neurone formel ; 3045893 17 - une mémoire (32) stockant lesdites données à destination desdits processeurs élémentaires, organisée en colonnes (40) ayant chacune une largeur de N bits, N étant supérieur ou égal à 1 ; - un module de transformation (31) apte à découper ou à réunir les 5 sous-mots transmis par ledit bloc de transformation (6) en d'autres sous- mots adaptés à largeur desdites colonnes (40) ; un ensemble de sous-mots (421, 422, 43,\n<CLM>\1\ten sortie dudit module de transformation (31) formant un mot, ledit mot étant réparti sur une ou plusieurs desdites colonnes en fonction du mode de couplage desdits 10 processeurs (PE) auxquels ils sont destinés.\n<CLM>\1\tCircuit électronique selon la revendication 3, caractérisé en ce que la largeur desdits canaux est égale à la largeur desdites colonnes, chaque canal ayant une largeur de N bits. 15\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 ou 4, caractérisé en ce que la granularité desdits processeurs élémentaires (PE) est égale à la largeur desdites colonnes. 20\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 à 5, caractérisé en ce qu'un processeur (PE,\n<CLM>\1\tétant couplé temporellement à lui-même, au moins deux sous-mots (421,\n<CLM>\1\tqui lui sont destinés sont stockés dans une même colonne pour être routés (33) vers ledit processeur (420) sur plusieurs cycles de communication successifs. 25\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 à 6, caractérisé en ce qu'au moins deux processeurs (PE, 430,\n<CLM>\1\tétant couplés spatialement, les sous-mots (43,\n<CLM>\1\tqui leurs sont destinés sont stockés sur plusieurs colonnes à une même adresse, lesdits sous-mots (43, 3045893 18\n<CLM>\1\tétant routés (33) vers lesdits processeurs en un ou plusieurs cycles de communication successifs.\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 5 ou 6, 5 caractérisé en ce que les sous-mots constituant un même mot (47,\n<CLM>\1\tpeuvent être stockés à la fois sur plusieurs adresses et sur plusieurs colonnes de ladite mémoire (32).\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 à 7, 10 caractérisé en ce qu'il comporte un module de routage (33) connecté entre ladite mémoire (32) et lesdits processeurs (PE), ledit module de routage ayant un nombre d'entrées au moins égal au nombre de colonnes (40), chaque entrée étant reliée à une colonne et une seule, ledit module de routage (33) étant apte à router les sous-mots vers lesdits processeurs (PE). 15\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 à 9, caractérisé en ce que ledit module de routage (33) est apte à diffuser des données d'une colonne (40) vers plusieurs processeurs (PE). 20\n<CLM>\1\tCircuit électronique selon l'une quelconque des revendications 3 à 8, caractérisé en ce qu'il comporte un bloc de virtualisation de la mémoire relié aux mémoires (32) de tous les blocs et à une mémoire externe via un circuit de type DMA. 25\n<CLM>\1\tSystème de traitement du signal, apte à l'implémentation de réseaux de neurones, caractérisé en ce qu'il comporte une pluralité de circuits électroniques selon l'une quelconque des revendications 1 à 10.