FR 3038997 A1 20170120 FR 1556659 A 20150713 DISPOSITIF DE TRAITEMENT DE DONNEES AVEC REPRESENTATION DE VALEURS PAR DES INTERVALLES DE TEMPS ENTRE EVENEMENTS [0001] La présente invention concerne les techniques de traitement de données. Des modes de réalisation mettent en oeuvre une nouvelle manière d'exécuter des calculs dans des machines, en particulier dans des machines programmables. [0002] En grande majorité, les ordinateurs actuels reposent sur l'architecture de Von Neumann. Les données et les instructions de programme sont stockées dans une mémoire à laquelle une unité arithmétique et logique accède de manière séquentielle pour exécuter le programme sur les données. Cette architecture séquentielle est relativement inefficace, notamment en raison de l'exigence de nombreux accès à la mémoire, en lecture et en écriture. [0003] La recherche d'alternatives énergiquement plus efficaces a conduit à proposer des architectures de traitement sans horloge qui tentent d'imiter le fonctionnement du cerveau. Des projets récents, comme le programme SyNAPSE DARPA, ont conduit au développement de technologies de cartes neuromorphiques à base de silicium, qui permettent de construire un nouveau type de calculateur inspiré de la forme, du fonctionnement et de l'architecture du cerveau. Les principaux avantages de ces systèmes sans horloge sont leur efficacité énergétique et le fait que la performance soit en rapport avec la quantité de neurones et de synapses utilisés. Plusieurs plates-formes qui ont été développées dans ce contexte, en particulier : - IBM TrueNorth (Paul A. Merolla, et al.: "A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface", Science, Vol. 345, No. 6197, pages 668-673, août 2014) ; - Neurogrid (Ben V. Benjamin, et al.: "Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations", Proceedings of the IEEE, Vol. 102, No. 5, pages 699-716, mai 2014) ; - SpiNNaker (Steve B. Furber, et al.: "The SpiNNaker Project", Proceedings of the IEEE, Vol. 102, No. 5, pages 652-665, mai 2014). »04] Ces machines visent essentiellement à simuler la biologie. Leurs applications principales sont dans le domaine de l'apprentissage, notamment pour exécuter des architectures d'apprentissage profond ("deep learning") telles que des réseaux de neurones 3038997 2- ou des réseaux de croyance ("deep belief networks"). Elles se révèlent efficaces dans plusieurs domaines comme ceux de la vision artificielle, de la reconnaissance de parole et du traitement des langues. [0005] 11 existe d'autres options comme le NEF ("Neural Engineering Framework") 5 capables de simuler certaines fonctionnalités du cerveau et notamment accomplir des tâches visuelles, cognitives et motrices (Chris Eliasmith, et al. : "A Large-Scale Model of the Functioning Brain", Science, Vol. 338, No. 6111, pages 1202-1205, novembre 2012). [0006] Ces différentes approches n'offrent pas une méthodologie générale pour l'exécution de calculs dans une machine programmable. 10 [0007] La présente convention vise à proposer une nouvelle approche pour la représentation des données et l'exécution de calculs. 11 est souhaitable que cette approche se prête bien à une mise en oeuvre à consommation énergétique modérée et à un parallélisme massif. [0008] 11 est proposé un dispositif de traitement de données, comprenant un ensemble 15 de noeuds de traitement et des connexions entre les noeuds. Chaque connexion a un noeud émetteur et un noeud récepteur parmi l'ensemble de noeuds de traitement et est configurée pour transmettre au noeud récepteur des événements délivrés par le noeud émetteur. Chaque noeud est agencé pour faire varier une valeur de potentiel respective en fonction d'événements qu'il reçoit et pour délivrer un événement lorsque la valeur de potentiel atteint 20 un seuil prédéfini. Les données traitées comprennent au moins une grandeur d'entrée représentée par un intervalle de temps entre deux événements reçus par au moins un noeud et au moins une grandeur de sortie représentée par un intervalle de temps entre deux événements délivrés par au moins un noeud. [0009] Les noeuds de traitement constituent des unités de calcul de type neurone. 25 Cependant, on ne cherche pas particulièrement ici à imiter le fonctionnement du cerveau. Le terme « neurone » est utilisé dans le mémoire par commodité de langage, mais ne signifie pas nécessairement une ressemblance forte avec le mode de fonctionnement des neurones du cortex. [0010] En utilisant une organisation temporelle précise des événements au sein du 30 dispositif de traitement, ainsi que diverses propriétés des connexions (synapses), on peut 3038997 3 obtenir un cadre général de calcul, apte à calculer les fonctions mathématiques élémentaires. On peut dès lors implémenter tous les opérateurs mathématiques existants, qu'ils soient linéaires ou non, sans recourir obligatoirement à une architecture de Von Neumann. À partir de là, il devient possible que le dispositif fonctionne comme un ordinateur classique, mais 5 sans nécessiter d'allers-retours incessants en mémoire et sans reposer sur la précision en virgule flottante. Ce sont les concordances temporelles d'événements synaptiques, ou leurs décalages temporels, qui constituent la base de la représentation des données. [00ii] La méthodologie proposée est en adéquation avec les architectures neuromorphiques qui ne font aucune distinction entre mémoire et calcul. Chaque connexion 10 de chaque noeud de traitement stocke de l'information et, simultanément, utilise cette information pour le calcul. Ceci est très différent de l'organisation régnant dans les ordinateurs classiques qui fait une distinction entre mémoire et traitement et provoque le goulot d'étranglement de Von Neumann, où une majeure partie du temps de calcul est consacrée à déplacer de l'information entre la mémoire et l'unité centrale de traitement 15 (John Backus : "Can Programming Be Liberated from the von Neumann Style?: A Functional Style and Its Algebra of Programs", Communications of the ACM, Vol. 21, No. 8, pages 613-641, août 1978). [0012] Le fonctionnement repose sur une communication gouvernée par des événements ("event-driven") comme dans les neurones biologiques, et permettant donc une 20 exécution avec un parallélisme massif. [0013] Dans un mode de réalisation du dispositif, chaque noeud de traitement est agencé pour réinitialiser sa valeur de potentiel lorsqu'il délivre un événement. La réinitialisation peut notamment être à une valeur de potentiel nulle. [0014] De nombreux modes de réalisation du dispositif de traitement de données 25 incluent, parmi les connexions entre les noeuds, une ou plusieurs connexions de variation de potentiel ayant chacune un poids respectif. Le noeud récepteur d'une telle connexion est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à sa valeur de potentiel. [0015] Les connexions de variation de potentiel peuvent comprendre des connexions 30 excitatrices, de poids positif, et des connexions inhibitrices, de poids négatif. 3038997 4 [0016] Pour manipuler une grandeur au sein du dispositif, l'ensemble des noeuds de traitement peut comprendre au moins un premier noeud formant le noeud récepteur d'une première connexion de variation de potentiel ayant un premier poids positif égal au seuil prédéfini pour la valeur de potentiel, et au moins un second noeud formant le noeud récepteur 5 d'une seconde connexion de variation de potentiel de poids égal à la moitié du premier poids. Le premier noeud susmentionné forme en outre le noeud émetteur et le noeud récepteur d'une troisième connexion de variation de potentiel de poids égal à l'opposé du premier poids, ainsi que le noeud émetteur d'une quatrième connexion, tandis que le second noeud forme en outre le noeud émetteur d'une cinquième connexion. Les première et seconde 10 connexions de variation de potentiel sont alors configurées pour recevoir chacune deux événements séparés par un premier intervalle de temps représentant une grandeur d'entrée de sorte que les quatrième et cinquième connexions transportent des événements respectifs ayant entre eux un second intervalle de temps en rapport avec le premier intervalle de temps. 15 [0017] Diverses opérations peuvent être exécutées à l'aide d'un dispositif selon l'invention. [0018] En particulier, un exemple de dispositif de traitement de données comprend au moins un circuit de calcul de minimum, qui comprend lui-même : des premier et second noeuds d'entrée ; 20 un noeud de sortie ; des premier et second noeuds de sélection ; des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel ayant chacune un premier poids positif égal à la moitié du seuil prédéfini pour la valeur de potentiel ; 25 des septième et huitième connexions de variation de potentiel ayant chacune un second poids opposé au premier poids ; et des neuvième et dixième connexions de variation de potentiel ayant chacune un troisième poids double du second poids. [0019] Dans ce circuit de calcul de minimum, le premier noeud d'entrée forme le noeud 30 émetteur des première et troisième connexions et le noeud récepteur de la dixième connexion, le second noeud d'entrée forme le noeud émetteur des seconde et quatrième 3038997 - 5 - connexions et le noeud récepteur de la neuvième connexion, le premier noeud de sélection forme le noeud émetteur des cinquième, septième et neuvième connexion et le noeud récepteur des première et huitième connexions, le second noeud de sélection forme le noeud émetteur des sixième, huitième et dixième connexions et le noeud récepteur des seconde et 5 septième connexions, et le noeud de sortie forme le noeud récepteur des troisième, quatrième, cinquième et sixième connexions. [0020] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul de maximum, qui comprend lui-même : des premier et second noeuds d'entrée ; 10 un noeud de sortie ; des premier et second noeuds de sélection ; des première, seconde, troisième et quatrième connexions de variation de potentiel ayant chacune un premier poids positif égal à la moitié du seuil prédéfini pour la valeur de potentiel ; et 15 des cinquième et sixième connexions de variation de potentiel ayant chacune un second poids égal au double de l'opposé du premier poids. [0021] Dans ce circuit de calcul de maximum, le premier noeud d'entrée forme le noeud émetteur des première et troisième connexions, le second noeud d'entrée forme le noeud émetteur des seconde et quatrième connexions, le premier noeud de sélection forme le noeud 20 émetteur de la cinquième connexion et le noeud récepteur des première et sixième connexions, le second noeud de sélection forme le noeud émetteur de la sixième connexion et le noeud récepteur des seconde et cinquième connexions, et le noeud de sortie forme le noeud récepteur des troisième et quatrième connexions. [0022] Un autre exemple de dispositif de traitement de données comprend au moins un 25 circuit soustracteur, qui comprend lui-même : des premier et second noeuds de synchronisation ; des premier et second noeuds d'inhibition ; des premier et second noeuds de sortie ; 3038997 6 des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel ayant chacune un premier poids positif égal au seuil prédéfini pour la valeur de potentiel ; des septième et huitième connexions de variation de potentiel ayant chacune un 5 second poids égal à la moitié du premier poids ; des neuvième et dixième connexions de variation de potentiel ayant chacune un troisième poids opposé au premier poids ; et des onzième et douzième connexions de variation de potentiel ayant chacune un quatrième poids double du troisième poids. 10 100231 Dans ce circuit soustracteur, le premier noeud de synchronisation forme le noeud émetteur des première, seconde, troisième et neuvième connexions, le second noeud de synchronisation forme le noeud émetteur des quatrième, cinquième, sixième et dixième connexions, le premier noeud d'inhibition forme le noeud émetteur de la onzième connexion et le noeud récepteur des troisième, huitième et dixième connexions, le second noeud 15 d'inhibition forme le noeud émetteur de la douzième connexion et le noeud récepteur des sixième, septième et neuvième connexions, le premier noeud de sortie forme le noeud émetteur de la septième connexion et le noeud récepteur des première, cinquième et onzième connexions, et le second noeud de sortie forme le noeud émetteur de la huitième connexion et le noeud récepteur des seconde, quatrième et douzième connexions. Le premier noeud de 20 synchronisation est configuré pour recevoir, sur au moins une connexion de variation de potentiel ayant le second poids, une première paire d'événements ayant entre eux un premier intervalle de temps représentant un premier opérande. Le second noeud de synchronisation est configuré pour recevoir, sur au moins une connexion de variation de potentiel ayant le second poids, une seconde paire d'événements ayant entre eux un second 25 intervalle de temps représentant un second opérande, de sorte qu'une troisième paire d'événements ayant entre eux un troisième intervalle de temps est délivrée par le premier noeud de sortie si le premier intervalle de temps est plus long que le second intervalle de temps et par le second noeud de sortie si le premier intervalle de temps est plus court que le second intervalle de temps, le troisième intervalle de temps représentant la valeur absolue de 30 la différence entre les premier et second opérande. [0024] Le circuit soustracteur peut comprendre en outre une logique de détection de zéro incluant au moins un noeud de détection associé à des connexions de détection et 3038997 7 d'inhibition avec les premier et second noeud de synchronisation, l'un des premier et second noeud d'inhibition et l'un des premier et second noeud de sortie. Les connexions de détection et d'inhibition sont plus rapides que les première, seconde, troisième, quatrième, cinquième, sixième, septième, huitième, neuvième, dixième, onzième et douzième connexions, pour 5 inhiber la production d'événements par l'un des premier et second noeuds de sortie lorsque les premier et second intervalles de temps sont sensiblement égaux. 10025] Dans diverses réalisations du dispositif, l'ensemble de noeuds de traitement comprend au moins un noeud agencé pour faire varier une valeur de courant en fonction d'événements reçus sur au moins une connexion de réglage de courant, et pour faire varier 10 sa valeur de potentiel au cours du temps avec un taux de variation proportionnel à ladite valeur de courant. Un tel noeud de traitement peut notamment être agencé pour remettre à zéro sa valeur de courant lorsqu'il délivre un événement. 100261 La valeur de courant dans certains au moins des noeuds a une composante constante entre deux événements reçus sur au moins une connexion de réglage de 15 composante constante de courant ayant un poids respectif. Le noeud récepteur d'une connexion de réglage de composante constante de courant est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à la composante constante de sa valeur de courant. (0027] Un autre exemple de dispositif de traitement de données comprend au moins un 20 circuit de mémoire inverseuse, qui comprend lui-même : un noeud accumulateur ; des première, seconde et troisième connexions de réglage de composante constante de courant, les première et troisième connexions ayant un même poids positif et la seconde connexion ayant un poids opposé au poids des première et troisième connexions ; et 25 au moins une quatrième connexion, [00281 Dans ce circuit de mémoire inverseuse, le noeud accumulateur forme le noeud récepteur des première, seconde et troisième connexions et le noeud émetteur de la quatrième connexion, et les première et seconde connexions sont configurées pour adresser respectivement au noeud accumulateur des premier et second événements ayant entre eux un 30 premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le noeud accumulateur réagit ensuite à un troisième 3038997 8 événement reçu sur la troisième connexion en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. 5 [0029] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de mémoire, qui comprend lui-même : des premier et second noeuds accumulateurs ; des première, seconde, troisième et quatrième connexions de réglage de composante constante de courant, les première, seconde et quatrième connexions ayant chacune un 10 premier poids positif et la troisième connexion ayant un second poids opposé au premier poids ; et au moins une cinquième connexion. [0030] Dans ce circuit de mémoire, le premier noeud accumulateur forme le noeud récepteur de la première connexion et le noeud émetteur de la troisième connexion, le second 15 noeud accumulateur forme le noeud récepteur des seconde, troisième et quatrième et cinquième connexions et le noeud émetteur de la cinquième connexion, les première et seconde connexions sont configurées pour adresser respectivement aux premier et second noeuds accumulateurs des premier et second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à 20 mémoriser, de sorte que le second noeud accumulateur réagit ensuite à un troisième événement reçu sur la quatrième connexion en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la cinquième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. 25 [0031] Le circuit de mémoire peut en outre comprendre une sixième connexion ayant le premier noeud accumulateur comme noeud émetteur, la sixième connexion délivrant un événement pour signaler la disponibilité en lecture du circuit de mémoire. [0032] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de synchronisation, qui inclut un nombre N > 1 de circuits de mémoire, du type qui 30 vient d'être mentionné, et un noeud de synchronisation. Le noeud de synchronisation est sensible à chaque événement délivré sur la sixième connexion de l'un des N circuits de 3038997 9 mémoire via une connexion de variation de potentiel respective de poids égal au premier poids divisé par N. Le noeud de synchronisation est agencé pour provoquer une réception simultanée des troisièmes événements via les quatrièmes connexions respectives des N de circuits de mémoire. 5 [0033] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de cumul, qui comprend lui-même : N entrées ayant chacune un coefficient de pondération respectif, N étant un nombre entier supérieur à 1 ; un noeud accumulateur ; 10 un noeud de synchronisation ; pour chacune des N entrées du circuit de cumul : une première connexion de réglage de composante constante de courant ayant un premier poids positif proportionnel au coefficient de pondération respectif de ladite entrée ; et 15 une seconde connexion de réglage de composante constante de courant ayant un second poids opposé au premier poids ; une troisième connexion de réglage de composante constante de courant ayant un troisième poids positif. [0034] Dans ce circuit de cumul, le noeud accumulateur forme le noeud récepteur des 20 premières, secondes et troisième connexions, le noeud de synchronisation forme le noeud émetteur de la troisième connexion. Pour chacune des N entrées, les première et seconde connexions sont configurées pour adresser respectivement au noeud accumulateur des premier et second événements ayant entre eux un premier intervalle de temps représentant un opérande respectif fourni sur ladite entrée. Le noeud de synchronisation est configuré 25 pour délivrer un troisième événement une fois que les premier et second événements ont été adressés pour chacune des N entrées, de sorte que le noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement. Les troisième et quatrième événements ont entre eux un second intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N 30 entrées. [0035] Dans un exemple de dispositif de traitement de données selon l'invention, le 3038997 - 10 - circuit de cumul fait partie d'un circuit de sommation pondérée comprenant en outre : un second noeud accumulateur ; une quatrième connexion de réglage de composante constante de courant ayant le troisième poids ; et 5 des cinquième et sixième connexions. [0036] Dans ce circuit de sommation pondérée, le noeud de synchronisation du circuit de cumul forme le noeud émetteur de la quatrième connexion, le noeud accumulateur du circuit de cumul forme le noeud émetteur de la cinquième connexion, et le second noeud accumulateur forme le noeud récepteur de la quatrième connexion et le noeud émetteur de la 10 sixième connexion. En réponse à la délivrance du troisième événement par le noeud de synchronisation, le noeud accumulateur du circuit de cumul fait croître sa valeur de potentiel jusqu'à délivrance du quatrième événement sur la cinquième connexion, et le second noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un cinquième événement sur la sixième connexion, les quatrième et cinquième événements ayant entre 15 eux un troisième intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N entrées du circuit de cumul. [0037] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de combinaison linéaire incluant deux circuits de cumul, qui partagent leur noeud de synchronisation, et un circuit soustracteur configuré pour réagir au troisième événement 20 délivré par le noeud de synchronisation partagé et aux quatrièmes événements respectivement délivrés par les noeuds accumulateurs des deux circuits de cumul en délivrant une paire d'événements ayant entre eux un troisième intervalle de temps représentatif de la différence entre la somme pondérée pour l'un des deux circuits de cumul et la somme pondérée pour l'autre des deux circuits de cumul. 25 [0038] Dans un certain nombre de réalisations du dispositif, l'ensemble de noeuds de traitement comprend au moins un noeud dont la valeur de courant a une composante à décroissance exponentielle entre deux événements reçus sur au moins une connexion de réglage de composante de courant à décroissance exponentielle ayant un poids respectif. Le noeud récepteur d'une connexion de réglage de composante de courant à décroissance 30 exponentielle est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à la composante à décroissance exponentielle de sa valeur de courant. 3038997 100391 Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul de logarithme, qui comprend lui-même : un noeud accumulateur ; des première et seconde connexions de réglage de composante constante de courant, 5 la première connexion ayant un poids positif, et la seconde connexion ayant un poids opposé au poids de la première connexion ; une troisième connexion de réglage de composante de courant à décroissance exponentielle ; et au moins une quatrième connexion. 10 100401 Dans ce circuit de calcul de logarithme, le noeud accumulateur forme le noeud récepteur des première, seconde et troisième connexions et le noeud émetteur de la quatrième connexion. Les première et seconde connexions sont configurées pour adresser au noeud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur 15 d'entrée du circuit de calcul de logarithme. La troisième connexion est configurée pour adresser au noeud accumulateur un troisième événement simultané ou postérieur au second événement, de sorte que le noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de 20 temps représentant un logarithme de la grandeur d'entrée. [0041] 11 peut en outre y avoir dans le dispositif de traitement au moins une connexion de désactivation dont le noeud récepteur est un noeud capable d'annuler sa composante de courant à décroissance exponentielle en réponse à un événement reçu sur la connexion de désactivation. 25 [0042] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul d'exponentielle, qui comprend lui-même : un noeud accumulateur ; une première connexion de réglage de composante de courant à décroissance exponentielle ; 30 une seconde connexion de désactivation ; une troisième connexion de réglage de composante constante de courant ; et 3038997 -12- au moins une quatrième connexion. 100431 Dans ce circuit de calcul d'exponentielle, le noeud accumulateur forme le noeud récepteur des première, seconde et troisième connexions et le noeud émetteur de la quatrième connexion. Les première et seconde connexions sont configurées pour adresser au 5 noeud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur d'entrée du circuit de calcul d'exponentielle. La troisième connexion est configurée pour adresser au noeud accumulateur un troisième événement simultané ou postérieur au second événement, de sorte que le noeud accumulateur fait croître sa valeur de potentiel jusqu'à 10 délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant une exponentielle de la grandeur d'entrée. [0044] Un autre exemple de dispositif de traitement de données comprend au moins un circuit multiplieur, qui comprend lui-même : 15 des premier, second et troisième noeuds accumulateurs ; un noeud de synchronisation ; des première, seconde, troisième, quatrième et cinquième connexions de réglage de composante constante de courant, les première, troisième et cinquième connexions ayant un poids positif, et les seconde et quatrième connexions ayant un poids opposé au poids des 20 première, seconde et cinquième connexions ; des sixième, septième et huitième connexions de réglage de composante de courant à décroissance exponentielle ; une neuvième connexion de désactivation ; et au moins une dixième connexion. 25 [0045] Dans ce circuit multiplieur, le premier noeud accumulateur forme le noeud récepteur des première, seconde et sixième connexions et le noeud émetteur de la septième connexion, le second noeud accumulateur forme le noeud récepteur des troisième, quatrième et septième connexions et le noeud émetteur des cinquième et neuvième connexions, le troisième noeud accumulateur forme le noeud récepteur des cinquième, huitième et neuvième 30 connexions et le noeud émetteur de la dixième connexion, et le noeud de synchronisation forme le noeud émetteur des sixième et huitième connexions. Les première et seconde 3038997 - 13 - connexions sont configurées pour adresser au premier noeud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant un premier opérande du circuit multiplieur. Les troisième et quatrième connexions sont configurées pour adresser au second noeud 5 accumulateur des troisième et quatrième événements respectifs ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant un second opérande du circuit multiplieur. Le noeud de synchronisation est configuré pour délivrer un cinquième événement sur les sixième et huitième connexions une fois que les premier, second, troisième et quatrième événements ont été reçus. De ce fait, le premier noeud accumulateur 10 fait croître sa valeur de potentiel jusqu'à délivrance d'un sixième événement sur la septième connexion puis, en réponse au sixième événement, le second noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un septième événement sur les cinquième et neuvième connexions. En réponse à ce septième événement, le troisième noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un huitième événement 15 sur la dixième connexion, les septième et huitième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps représentant le produit des premier et second opérandes. [0046] Une logique de détection de signe peut être associée au circuit multiplieur pour détecter les signes respectifs des premier et second opérandes et faire délivrer deux 20 événements ayant entre eux l'intervalle de temps représentant le produit des premier et second opérandes sur l'une ou l'autre de deux sorties du circuit multiplieur en fonction des signes détectés. [0047] Dans une réalisation typique du dispositif de traitement, chaque connexion est associée à un paramètre de retard, pour signaler au noeud récepteur de cette connexion 25 d'effectuer un changement d'état avec, par rapport à la réception d'un événement sur la connexion, un retard indiqué par ledit paramètre. [0048] L'intervalle de temps At entre deux événements représentant une grandeur de valeur absolue x peut être, en particulier, de la forme At X.T'd, OÙ Tmin et T'd sont des paramètres temporels prédéfinis. Les grandeurs représentées par des intervalles de 30 temps ont par exemple des valeurs absolues x comprises entre 0 et 1. [00491 Une échelle logarithmique plutôt que linéaire de At en fonction de x peut 3038997 - 14 - également convenir à certaines applications. D'autres échelles encore peuvent être utilisées. 100501 Le dispositif de traitement peut avoir des agencements spéciaux pour manipuler des grandeurs signées. Il peut ainsi comprendre, pour une grandeur d'entrée : une première entrée comportant un noeud ou deux noeuds parmi l'ensemble de noeuds 5 de traitement, la première entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps représentant une valeur positive de la grandeur d'entrée ; et une seconde entrée comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la seconde entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps représentant une valeur négative de la grandeur d'entrée. 10 [0051] Pour une grandeur de sortie, le dispositif de traitement peut comprendre : une première sortie comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la première sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps représentant une valeur positive de ladite grandeur de sortie ; et une seconde sortie comportant un noeud ou deux noeuds parmi l'ensemble de noeuds 15 de traitement, la seconde sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps représentant une valeur négative de ladite grandeur de sortie. [0052] Dans une mise en oeuvre du dispositif de traitement, l'ensemble de noeuds de traitement est sous la forme d'au moins un réseau programmable, les noeuds du réseau ayant un modèle de comportement commun en fonction des événements reçus. Ce dispositif 20 comprend en outre une logique de programmation pour régler des poids et des paramètres de retard des connexions entre les noeuds du réseau en fonction d'un programme de calcul, et une unité de commande pour fournir des grandeurs d'entrée au réseau et récupérer des grandeurs de sortie calculées conformément au programme. [00531 D'autres particularités et avantages de la présente invention apparaîtront dans la 25 description ci-après, en référence aux dessins annexés, dans lesquels : - la figure 1 est un schéma d'un circuit de traitement produisant la représentation d'une valeur constante sur demande, selon un mode de réalisation de l'invention ; - la figure 2 est un schéma d'un dispositif de mémoire inverseuse selon un mode de réalisation de l'invention ; 3038997 - 15 - la figure 3 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire inverseuse selon la figure 2 ; la figure 4 est un schéma d'un dispositif de mémoire selon un mode de réalisation de 5 l'invention ; la figure 5 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire selon la figure 4; la figure 6 est un schéma d'un dispositif de mémoire signée selon un mode de 10 réalisation de l'invention ; les figures 7(a) et 7(b) sont des diagrammes montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire signée selon la figure 6 lorsqu'il lui est présenté différentes valeurs d'entrée ; la figure 8 est un schéma d'un dispositif de synchronisation selon un mode de 15 réalisation de l'invention ; la figure 9 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de synchronisation selon la figure 8 ; la figure 10 est un schéma d'un dispositif de synchronisation selon un autre mode de 20 réalisation de l'invention ; la figure 11 est un schéma d'un dispositif de calcul de minimum selon un mode de réalisation de l'invention ; la figure 12 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de minimum 25 selon la figure 11 ; la figure 13 est un schéma d'un dispositif de calcul de maximum selon un mode de réalisation de l'invention ; la figure 14 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de maximum 30 selon la figure 13 ; 3038997 - 16 - la figure 15 est un schéma d'un dispositif soustracteur selon un mode de réalisation de l'invention ; la figure 16 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif soustracteur selon la figure 5 15 ; la figure 17 est un schéma d'une variante du dispositif soustracteur dans laquelle une différence égale à zéro est prise en compte ; la figure 18 est un schéma d'un circuit de cumul selon un mode de réalisation de l'invention ; 10 la figure 19 est un schéma d'un dispositif de sommation pondérée selon un mode de réalisation de l'invention ; la figure 20 est un schéma d'un dispositif de calcul de combinaison linéaire selon un mode de réalisation de l'invention ; la figure 21 est un schéma d'un dispositif de calcul de logarithme selon un mode de 15 réalisation de l'invention ; la figure 22 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de logarithme selon la figure 21 ; la figure 23 est un schéma d'un dispositif de calcul d'exponentielle selon un mode de 20 réalisation de l'invention ; la figure 24 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul d'exponentielle selon la figure 23 ; la figure 25 est un schéma d'un dispositif multiplieur selon un mode de réalisation de 25 l'invention ; la figure 26 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif multiplieur selon la figure 25 ; la figure 27 est un schéma d'un dispositif multiplieur signé selon un mode de 30 réalisation de l'invention ; 3038997 - 17 - la figure 28 est un schéma d'un dispositif intégrateur selon un mode de réalisation de l'invention ; la figure 29 est un schéma d'un dispositif adapté à la résolution d'une équation différentielle du premier ordre dans un exemple de réalisation de l'invention ; 5 les figures 30A et 30B sont des graphiques montrant des résultats de simulation du dispositif de la figure 29 ; la figure 31 est un schéma d'un dispositif adapté à la résolution d'une équation différentielle du second ordre dans un exemple de réalisation de l'invention ; les figures 32A et 32B sont des graphiques montrant des résultats de simulation du 10 dispositif de la figure 31 ; la figure 33 est un schéma d'un dispositif adapté à la résolution d'un système d'équations différentielles non-linéaires à trois variables dans un exemple de réalisation de l'invention ; la figure 34 est un graphique montrant des résultats de simulation du dispositif de la 15 figure 33 ; la figure 35 est un schéma d'un dispositif de traitement programmable selon un mode de réalisation de l'invention. [0054] Un dispositif de traitement de données tel que proposé ici procède en représentant les grandeurs traitées non pas comme des amplitudes de signaux électriques ou 20 comme des nombres à codage binaire traités par des circuits logiques, mais comme des intervalles de temps entre événements survenant au sein d'un ensemble de noeuds de traitement ayant des connexions entre eux. [0055] Dans le cadre du présent exposé, on présente une réalisation du dispositif de traitement de données selon une architecture analogue à celles des réseaux de neurones 25 artificiels. Bien que le dispositif de traitement de données n'ait pas obligatoirement une architecture strictement conforme à ce que des personnes conviennent d'appeler « réseaux de neurones », la description qui suit utilise de manière interchangeable les termes « noeud » et « neurone », de même qu'elle utilise le terme « synapse » pour désigner les connexions entre deux noeuds ou neurones au sein du dispositif. 3038997 - 18 - [0056] Les synapses sont orientées, c'est-à-dire que chaque connexion a un noeud émetteur et un noeud récepteur, et transmet au noeud récepteur des événements générés par le noeud émetteur. Un événement se manifeste typiquement par un pic (« spike ») sur un signal de tension ou de courant délivré le noeud émetteur et influençant le noeud récepteur. 5 [0057] Comme il est usuel dans le cadre des réseaux de neurones artificiels, chaque connexion ou synapse possède un paramètre de poids w qui mesure l'influence que le noeud émetteur exerce sur le noeud récepteur lors d'un événement. [0058] Une description du comportement de chaque noeud peut être donnée en faisant référence à une valeur de potentiel V correspondant au potentiel de membrane V dans le 10 paradigme des réseaux de neurones artificiels. La valeur de potentiel V d'un noeud varie dans le temps en fonction des événements que le noeud reçoit sur ses connexions entrantes. Lorsque cette valeur de potentiel V atteint ou dépasse un seuil V, le noeud émet un événement ("spike") qui est transmis au(x) noeud(s) situé(s) en aval. [0059] Pour décrire le comportement d'un noeud, ou neurone, dans un exemple de 15 réalisation de l'invention, on peut faire en outre référence à une valeur de courant g ayant une composante g, et éventuellement une composante gf. [0060] La composante g, est une composante qui reste constante, ou sensiblement constante, entre deux événements que le noeud reçoit sur une synapse particulière qu'on appelle ici connexion de réglage de composante constante de courant. 20 [0061] La composante gf est une composante à dynamique exponentielle, c'est-à-dire qu'elle varie exponentiellement entre deux événements que le noeud reçoit sur une synapse particulière qu'on appelle ici connexion de réglage de composante de courant à décroissance exponentielle. [0062] Un noeud qui prend en compte une composante de courant gf à décroissance 25 exponentielle peut en outre recevoir des événements d'activation et de désactivation de la composante gf sur une synapse particulière qu'on appelle ici connexion d'activation. [0063] Dans l'exemple considéré, on peut ainsi exprimer le comportement d'un noeud de traitement de manière générique par un jeu d'équations différentielles : 3038997 - 19 - dV gym. dt e = g + gate.gf d9e = 0 dt (1) dg f f dt = -gf où : - t désigne le temps ; - la composante ge traduit un courant d'entrée constant qui ne peut être changé que par 5 des événements synaptiques ; - la composante gf traduit un courant d'entrée à dynamique exponentielle ; - gate est un signal binaire d'activation (gate = 1) ou de déactivation (gate = 0) de la composante de courant gf à décroissance exponentielle ; - rm est une constante de temps réglant la variation linéaire de la valeur de potentiel V 10 en fonction de la valeur de courant g = ge + gate.gf; - et 2f est une constante de temps réglant la dynamique exponentielle de la décroissance de la composante gf. [0064] Dans le système (1), il est considéré qu'il n'y a pas de fuite du potentiel de membrane V, ou que la dynamique de cette fuite est sur une échelle de temps beaucoup plus 15 grande que toutes les autres dynamiques à l' oeuvre dans le dispositif. 100651 Dans ce modèle, on peut distinguer quatre types de synapses influençant le comportement d'un neurone, chaque synapse étant associée un paramètre de poids indiquant un poids synaptique w, positif ou négatif : - connexions de variation de potentiel, ou V-synapses, qui modifient directement la 20 valeur du potentiel de membrane du neurone : V V + w. En d'autres termes, le noeud récepteur réagit à un événement reçu sur une V-synapse en ajoutant à sa valeur de potentiel V le poids w indiqué par le paramètre de poids ; - connexions de réglage de composante constante de courant, ou ge-synapses, qui modifient directement le courant d'entrée constant du neurone : ge ge + w. En 25 d'autres termes, le noeud récepteur réagit à un événement reçu sur une ge-synapse en ajoutant à la composante constante de sa valeur de courant le poids w indiqué par le paramètre de poids ; 3038997 - 20 - - connexions de réglage de composante de courant à décroissance exponentielle, ou gf-synapses, qui modifient directement le courant d'entrée à dynamique exponentielle du neurone : gf gf + w. En d'autres termes, le noeud récepteur réagit à un événement reçu sur une gf-synapse en ajoutant à la composante à décroissance 5 exponentielle de sa valeur de courant le poids w indiqué par le paramètre de poids ; - et connexions d'activation, ou gate-synapses, qui activent le neurone en fixant gate 1 lorsqu'elles indiquent un poids positif w = 1 et désactivent le neurone en fixant gate O lorsqu'elles indiquent un poids négatif w = - 1. [00661 Chaque connexion synaptique est en outre associée à un paramètre de retard qui 10 donne le retard de propagation entre le neurone émetteur et le neurone récepteur. [0067] Un neurone déclenche un événement, lorsque sa valeur de potentiel V atteint un seuil Vt, soit : V V, (2) [00681 Le déclenchement de l'événement se traduit par un pic ("spike") délivré sur 15 chaque synapse dont le neurone constitue le noeud émetteur et par la réinitialisation de ses variables d'état à : V Vreset (3) ge 0 (4) gf 0 (5) 20 gate 0 (6) [00601 Sans perte de généralité, on peut se placer dans le cas où Vreset = 0. [00701 Dans la suite, la notation Tsyn désigne le retard de propagation le long d'une synapse standard, et la notation Tneu désigne le temps que met un neurone pour transmettre l'événement en produisant son spike après avoir été déclenché par un événement synaptique 25 d'entrée. Tneu peut par exemple refléter le pas de temps d'un simulateur neuronal. [0071] On définit un poids standard we comme le poids d'excitation minimal qu'il faut mettre sur une V-synapse pour déclencher un neurone depuis l'état réinitialisé, et un autre poids standard wi comme le poids d'inhibition d'effet contraire : 3038997 (7) (8) [0072] Les grandeurs traitées par le dispositif sont représentées par des intervalles de temps entre événements. Deux événements d'une paire d'événements sont séparés par un 5 intervalle de temps At qui est fonction de la grandeur x codée par cette paire : dt = f(x) (9) où f est une fonction de codage choisie pour la représentation des données dans le dispositif. [0073] Les deux événements de la paire codant cette grandeur x peuvent être délivrés par un même neurone n ou par deux neurones distincts. 10 0074] Quand il s'agit du même neurone n, délivrant des événements à des instants successifs en(i), i = 0, 1, 2, etc., on peut considérer que ce neurone n code un signal u(t) variant dans le temps, dont des valeurs discrètes sont données par : f p E (10) où fi est l'inverse fonction de codage choisie et i est un nombre pair. 15 [0075] La fonction de codage t D peut être choisie en tenant compte des signaux traités dans un système particulier, et adaptée à la précision requise. La fonction f calcule l'intervalle entre spikes associé à une valeur particulière. Dans la suite de la présente description, on illustre des modes de réalisation du dispositif de traitement utilisant une fonction de codage linéaire : 20 At = f(x) = Tmin + x.Tcod (11) avec x e [0, 1]. [0076] Cette représentation de la fonction f : [0, 1] [T,,,,, Tmax] permet de coder linéairement toute valeur x comprise entre 0 et 1 par un intervalle de temps compris entre Tmin et Trna, = Tmin + T'd. La valeur de Tmin pourra être nulle. Cependant, il est avantageux 25 qu'elle soit non nulle. En effet, si deux événements représentant une valeur proviennent d'un même neurone ou sont reçus par un même neurone, l'intervalle minimum Tmin > 0 donne à ce neurone le temps de se réinitialiser. D'autre part, un choix Tmin > 0 permet à 3038997 - 22 - certains agencements de neurones de réagir au premier événement d'entrée et de propager un changement d'état avant de recevoir un second événement. [0077] La forme (11) pour la fonction de codage f n'est pas la seule possible. Un autre choix judicieux est de prendre une fonction logarithmique, permettant de coder une plage de 5 valeurs étendue avec une dynamique convenant à certaines applications, en l'occurrence avec une précision plus faible pour les grandes valeurs. [0078] Pour représenter des valeurs signées, on peut utiliser deux trajets différents, un pour chaque signe. Des valeurs positives seront alors codées au moyen d'un neurone particulier, et des valeurs négatives au moyen d'un autre neurone. De manière arbitraire, le 10 zéro peut être représenté comme une valeur positive ou une valeur négative. Dans la suite, on le représente comme une valeur positive. [0079] Ainsi, pour prolonger l'exemple de la forme (11), si une grandeur x a une valeur dans l'intervalle [-1, +1], on la représente par un intervalle de temps At = Trm, + Ixl.T'd entre deux événements propagés sur le trajet associé aux valeurs positives si x 0, et sur le 15 trajet associé aux valeurs négatives si x Ati), le potentiel du neurone larger 125 est remis à zéro via la synapse 127, et le neurone output 123 est déclenché via la synapse 129 au temps to2ur 15 [00140] Finalement, le neurone output 123 restitue bien, entre les événements qu'il délivre, l'intervalle de temps maximum to2ut - tolut = tin2 ti-n2 = At2 entre les événements des deux paires produites par les neurones input 121, 122. Ce maximum est disponible en sortie du circuit 120 dès réception du second événement de la paire qui le représente en entrée. 20 [00141] Le circuit de calcul de maximum 120 de la figure 13 fonctionne dès lors que la fonction f telle que At = f(x) est une fonction croissante. C. Opérations linéaires C.1. Soustraction [00142] La figure 15 montre un circuit de soustraction 140 qui calcule la différence entre 25 deux valeurs xi, x2 reçues de façon synchronisée sur deux noeuds d'entrée 141, 142 et délivre le résultat xi - x2 sur un noeud de sortie 143 s'il est positif et sur un autre noeud de sortie 144 s'il est négatif. On suppose ici que la fonction f telle que Ati = f(xi) et At2 = f(x2) est une fonction linéaire, comme c'est le cas avec la forme (11). = t.n1 At1 dans = tin2 Tsyn Tneu- 3038997 -35- [00143] Outre les neurones input 141, 142 et les neurones output+ 143 et output- 144, le circuit de soustraction 140 comprend deux neurones sync 145, 146 et deux neurones inb' 147, 148. Une V-synapse excitatrice 150, de poids we/2, va du neurone input 141 au neurone sync 145. Une V-synapse excitatrice 151, de poids we/2, va du neurone input 142 au neurone 5 sync 146. Trois V-synapses excitatrices 152, 153, 154, chacune de poids ive, vont du neurone sync 145 au neurone output+ 143, au neurone output- 144 et au neurone inb 147, respectivement. Trois V-synapses excitatrices 155, 156, 157, chacune de poids ive, vont du neurone sync 146 au neurone output- 144, au neurone output+ 143 et au neurone inb 148, respectivement. Une V-synapse inhibitrice 158, de poids wi, va du neurone sync 145 au 10 neurone inb 148. Une V-synapse inhibitrice 159, de poids wi, va du neurone sync 146 au neurone inb 147. Une V-synapse excitatrice 160, de poids we/2, va du neurone output+ 143 au neurone inb 148. Une V-synapse excitatrice 161, de poids we/2, va du neurone output-144 au neurone inb 147. Une V-synapse inhibitrice 162, de poids 2wi, va du neurone inb 147 au neurone output+ 143. Une V-synapse inhibitrice 163, de poids 2wi, va du neurone inb 15 163 au neurone output- 144. Les synapses 150, 151, 154 et 157-163 sont associées à un retard de Tsyn. Les synapses 152 et 155 sont associées à un retard de Tmin + 3. Tsyn + 2.Tneu. Les synapses 153 et 156 sont associées à un retard de 3. Tsyn + 2.Tneu. (001441 Le fonctionnement du circuit de soustraction 140 selon la figure 15 est illustré par la figure 16 dans le cas où le résultat .x/ - .x2 est positif. Les choses se passent 20 symétriquement si le résultat est négatif. [00145] Les premiers spikes émis de façon synchronisée (tilin = qn2) par les neurones input 141, 142 amènent les neurones sync 145, 146 à la valeur de potentiel Vt/2 au temps qrra Tsyn - L'émission du second spike sur le neurone input fournissant la plus petite valeur, à savoir le neurone 142 au temps tîn.2 = + At2 dans l'exemple de la figure 16 où 25 dt2 01 ak- x kl- Tcod = f (1 - Eak.xk>01 ak- xk s'écoule entre les événements respectivement délivrés par le neurone sync 185 et le neurone 15 acc 184 du circuit 180A. [00175] Un temps LITB = Tmax Eak.xk 0Iak - xkl Eak.xk 01 ak.xkl.Tcod T max) et délivrer encore la représentation de Ax sur son neurone output 240. 15 [00206] Le circuit 230 de la figure 23 réalise l'inversion de l'opération effectuée par le circuit 210 de la figure 21. [00207] On peut tirer parti de cela pour implémenter divers calculs non-linéaires à l'aide d'opérations simples entre des circuits de calcul de logarithme et de calcul d'exponentielle. Par exemple, la somme de deux logarithmes permet d'implémenter une multiplication, leur 20 soustraction permet d'implémenter une division, la somme de n fois le logarithme permet d'élever un nombre x à une puissance entière n, etc. D.3. Multiplication [00208] La figure 25 montre un circuit multiplieur 250 qui calcule le produit de deux valeurs xi, x2 dont des représentations codées sont respectivement produites par deux 25 neurones input 2511, 2512 sous forme de deux paires d'événements survenant à des temps tilrul et ti%1 = t n1+ Ati pour la valeur xi et à des temps tilru2 et ti%2 = tilru2 + At2 pour la valeur X2 (figure 25) avec Ati =flxi) = Tmin + Xl.T cod et At2 = f(X2) = Tmin + X2- T cod- 3038997 - 47 - [00209] Chaque neurone input 251k (k = 1 ou 2) appartient à un groupe de noeuds 20k semblable à celui décrit en référence à la figure 2. Le neurone first 253k de ce groupe 20k est le noeud émetteur d'une ge-synapse excitatrice 252k de poids watt et de retard Tmin + Tin, tandis que le neurone last 255k est le noeud émetteur d'une ge-synapse inhibitrice 254k de 5 poids -Wace et de retard Tsyn. Les deux ge-synapses 252k, 254k issues du groupe de noeuds 20k ont comme noeud récepteur un même neurone acc 256k qui joue un rôle similaire au neurone acc 216 de la figure 21. [00210] Le circuit 250 comporte en outre un neurone sync 260 qui est le noeud récepteur de deux V-synapses excitatrices 2611, 2612 de poids we/2 et de retard Tsyn provenant 10 respectivement des neurones last 2551, 2552. Une gf-synapse 262 de poids gmuit et de retard Tsyn et une gate-synapse excitatrice 264 de poids 1 et de retard Tsyn vont du neurone sync 260 au neurone acc 2561. [00211] Une gf-synapse 265 de poids g .' et de retard Tsyn et une gate-synapse excitatrice 266 de poids 1 et de retard Tsyn vont du neurone acc 2561 au neurone acc 2562. 15 [00212] Le circuit 250 comporte un autre neurone acc 268 qui joue un rôle similaire au neurone acc 238 de la figure 23. Le neurone acc 268 est le noeud récepteur d'une gf-synapse 269, de poids gmuit et de retard 3Tsyn, et d'une gate-synapse excitatrice 270, de poids 1 et de retard 3Tsyn, provenant toutes deux du neurone sync 260. En outre, le neurone acc 268 est le noeud récepteur d'une gate-synapse inhibitrice 271, de poids -1 et de retard Tsyn, et d'une 20 ge-synapse excitatrice 272, de poids Fv', et de retard Tsyn, provenant toutes deux du neurone acc 2562. [00213] Le circuit 250 possède enfin un neurone output 274 qui est le noeud récepteur d'une V-synapse excitatrice 275, de poids we et de retard 2Tsyn, provenant du neurone acc 2562 et d'une V-synapse excitatrice 276, de poids we et de retard Tsyn + Tsyn, provenant du 25 neurone acc 268. [00214] Le fonctionnement du circuit multiplieur 250 selon la figure 25 est illustré par la figure 26. [00215] Chacun des deux neurones acc 2561, 2562 se comporte initialement comme le neurone acc 216 de la figure 21, avec une progression linéaire 2781, 2782 de poids vTic,' sur 30 une première période de durée respective xi.Tcod, x2.T0d, conduisant à stocker les valeurs de 3038997 - 48 - potentiel Vt.xi et Vt.x2 dans les neurones acc 2561, 2562. [002161 L'émission du second spike au temps tîn2 = tln2 + Trnin + x2. Tcod au niveau du neurone input présentant la plus petite valeur (le neurone input 2512 dans l'exemple représenté sur la figure 26 où on a xi > x2) stoppe l'accumulation à dynamique linéaire sur le 5 neurone acc correspondant 2562 via la ge-synapse 2542 au temps a- - ctst2 Tsyn = tin2 2Tsyn Tneu. Le potentiel de membrane de ce neurone acc 2562 présente alors un plateau 279 qui dure jusqu'à sa réactivation via les synapses 265, 266. Au temps tctst2 Tsyn = tîn2 2Tsyn Tneu, le potentiel du neurone sync 260 passe à la valeur Vt/2 du fait de l'événement reçu du neurone last 2552 via la V-synapse 2612. 10 [002171 L'émission du second spike au temps ti2n1 = tiirn1 Tmin x1. T'd au niveau du neurone input présentant la plus grande valeur (le neurone input 2511 dans le cas de la figure 26) stoppe l'accumulation à dynamique linéaire sur le neurone acc correspondant 2561 via la ge-synapse 2541 au temps ta.st1 Tsyn = tîni_ 2Tsyn Tneu . Au même moment, le potentiel de ce neurone sync 260 atteint la valeur Vt du fait de l'événement reçu sur la 2Tsyn - - tslync = t in]. 15 V-synapse 2611. 11 en résulte l'émission d'un événement au temps 2Tneu sur les synapses 262 et 264. La dynamique exponentielle 2801 est alors activée sur le - sin = tslync Tsyn- neurone acc 2561 à la place de la dynamique linéaire 2781 au temps t Parallèlement, les synapses 269, 270 activent la dynamique exponentielle 281 sur le neurone acc 268 au temp 20 (002181 Le potentiel du neurone acc 2561 atteint le seuil Vt et provoque un événement sur les synapses 265, 266 au temps g-091 = tsin - -cf .log(xi). [00219] La dynamique exponentielle 2801 est alors activée sur le neurone acc 2562 au temps t temps .t2 = q091 + Tsyn. Le potentiel de ce neurone acc 2562 atteint le seuil Vt et provoque un événement sur les synapses 271, 272, 275 au temps q092 t x f. log(x2) = .:t2 - = tslync - 25 -cf.log(xi. x2) + 2Tsyn. La gate-synapse 271 désactive la dynamique exponentielle 281 sur le neurone acc 268 au temps telnd3 = q092 + Tsyn, et simultanément la dynamique linéaire 282 du neurone acc 268 est activée via la ge-synapse 272 à partir de la valeur : 4 ( 1 'end3 -',St3 Vt. 1 - e V = Vt. (1 - xi. x2) s tsii3 = tâinc 3Tsyn- (22) 3038997 - 49 - [00220] La V-synapse 275 provoque l'émission d'un premier spike sur le neurone output 274 au temps tolut = q092 + 27'syn + Tneu. [00221] Le neurone acc 268 atteint le seuil Vt et provoque un événement sur la V-synapse 276 au temps telxp = telnd3 x1-x2-Tcod- 11 en résulte, au niveau du neurone 5 output 274 l'émission d'un second spike au temps to2ut = telxp Tmin Tsyn Tneu. [00222] Finalement, les deux événements délivrés par le neurone output 268 sont séparés par un intervalle de temps de ATout = -uut tôut = Tmin + Xi. X2.Tcod = f (xi. x2). [002231 Le circuit 250 de la figure 25 délivre donc sur son neurone output 268 la représentation du produit xi.x2 des deux nombres xi, x2 compris entre A et 1 dont il reçoit les 10 représentations respectives sur ses neurones input 251i, 2512. [00224] Pour cela, les paires d'événements n'ont pas eu à être reçus synchronisées sur neurones input 2511, 2512, le neurone sync 260 se chargeant de la synchronisation. D.4. Multiplication signée [00225] La figure 27 montre un circuit multiplieur 290 qui calcule le produit de deux 15 valeurs signées xi, x2. Toutes les synapses représentées sur la figure 27 présentent le retard T syn - [00226] Pour chaque valeur d'entrée xk (1 0). [00254] La constante X- est fournie au neurone input 1812 associé au coefficient 5 a2 = C002 dans le circuit de combinaison linéaire 200 après chaque activation du neurone recall 15 qui est le noeud récepteur d'une synapse 350 provenant du neurone new input 320 du second circuit intégrateur 310B. Deux synapses 351, 352 font rétroagir la sortie output 313 du second circuit intégrateur 310B sur l'entrée input 1811 du circuit de combinaison linéaire 200 associée au coefficient ai = -.co0 et, respectivement, la sortie output 313 du 10 premier circuit intégrateur 310A sur l'autre entrée input 1810 du circuit 200 associée au coefficient a0 = co02. Une synapse 353 va de la sortie output 203 du circuit de combinaison linéaire 200 à l'entrée input 311 du premier circuit intégrateur 310A. Une synapse 354 va de la sortie output 313 du premier circuit intégrateur 310A à l'entrée input 311 du second circuit intégrateur 310B. 15 [00255] Le dispositif de la figure 31 a un neurone output 356 qui est le noeud récepteur d'une synapse issue du neurone output 313 du second circuit intégrateur 310B. [00256] Les neurones finit 358 et start 359 permettent d'initialiser et de faire démarrer le processus d'intégration. Le neurone finit 358 doit être déclenché avant le processus d'intégration pour charger les valeurs initiales dans les circuits intégrateurs 310A, 310B. Le 20 neurone start 359 est déclenché pour délivrer la première valeur à partir du second circuit intégrateur 310B. [00257] Le dispositif de la figure 31 est réalisé à l'aide de 187 neurones si on utilise les composants tels que décrits en référence aux figures précédentes. Ce nombre de neurones peut être réduit par optimisation. 25 [002581 Des résultats de simulation de ce dispositif avec différents jeux de paramètres w0 et avec un pas d'intégration dt = 0,2 et X_ = 0,5 sont présentés sur la figure 32A pour différentes valeurs de w0 et sur la figure 32B pour différentes valeurs de Chaque point sur les courbes D1-D3, D'l-D'3 montrées sur les figures 32A et 32B correspond à une valeur de sortie respective codée par une paire de spikes délivrée par le neurone output 356. On 3038997 - 56 - voit que les courbes ainsi obtenues pour la solution X(t) de l'équation différentielle (25) sont de nouveau conformes à ce qu'on attend. E.4. Résolution d'un système d'équations différentielles non-linéaires [00259] La figure 33 montre un dispositif de traitement qui implémente la résolution du 5 système d'équations différentielles non-linéaires proposées par E. Lorenz pour la modélisation d'un écoulement non périodique déterministe ("Deterministic Nonperiodic Flow", Journal of the Atmospheric Sciences, Vol. 20, No. 2, pages 130-141, mars 1963) : {dX (26) -dt = (Y (t) - X(t)) -dY = p. X (t) - Y (t) - X M. Z(t) dt -dZ = X M. Y (t) - Z (t) dt [00260] Pour assurer que le système modélisé ait un comportement chaotique, le 10 dispositif de la figure 33 a été simulé avec le choix de paramètres u = 10, ft = 8/3 et p = 28. Les variables étaient mises à l'échelle pour obtenir des variables d'état X, Y et Z évoluant chacune dans l'intervalle [0, 1] de façon qu'elles puissent être représentées sous la forme (11) ci-dessus. L'état initial du système était fixé à X = - 0,15, Y = - 0,20, et Z = 0,20. Le pas d'intégration utilisé était dt = 0,01. 15 [00261] Les synapses représentées sur la figure 33 sont toutes des V-synapses excitatrices de poids we et de retard T syn. Pour alléger le dessin, un seul trajet est représenté, mais il faut entendre qu'il y a à chaque fois un trajet pour les valeurs positives des variables et, en parallèle, un trajet pour leurs valeurs négatives. [00262] Pour résoudre le système (26), le dispositif de la figure 33 utilise : 20 - deux circuits multiplieurs signés 290A, 290B tels que celui représenté sur la figure 27 pour calculer les non-linéarités contenues dans les dérivées de X, Y et Z ; - trois circuits de combinaison linéaire 200A, 200B, 200C tels que celui représenté sur la figure 20 pour calculer les dérivées de X, Y et Z ; - un circuit synchroniseur signé 90 du type de celui représenté sur la figure 8 avec 25 N = 3 pour attendre que les trois dérivées soient calculées avant de faire évoluer l'état du système ; 3038997 - 57 - - trois circuits intégrateurs 310A, 310B, 310C de pas dt tels que celui représenté sur la figure 28 pour calculer le nouvel état à partir des dérivées de X, Y et Z. [00263] Le circuit de combinaison linéaire 200A est configuré N= 2 et des coefficients ao = u et ai = -u. Son neurone input 181A0 est excité depuis le neurone output 313A du 5 circuit intégrateur 310A, et son neurone input 181A1 depuis le neurone output 313B du circuit intégrateur 310B. Son neurone output 203A est le noeud émetteur d'une synapse allant au neurone input 910 du circuit synchroniseur 90. [00264] Le circuit de combinaison linéaire 200B est configuré N= 3 et des coefficients ao = p et ai = a2 = -1. Son neurone input 181B0 est excité depuis le neurone output 313B du 10 circuit intégrateur 310B, son neurone input 181B1 depuis le neurone output 313A du circuit intégrateur 310A, et son neurone input 181B2 depuis le neurone output 295A du circuit multiplieur 290A. Son neurone output 203B est le noeud émetteur d'une synapse allant au neurone input 911 du circuit synchroniseur 90. [00265] Le circuit de combinaison linéaire 200C est configuré N= 2 et des coefficients 15 ao = 1 et ai = - ft. Son neurone input 181C0 est excité depuis le neurone output 295B du circuit multiplieur 290B, et son neurone input 181C1 depuis le neurone output 313C du circuit intégrateur 310C. Son neurone output 203C est le noeud émetteur d'une synapse allant au neurone input 912 du circuit synchroniseur 90. [00266] Trois synapses vont respectivement du neurone output 92o du circuit 20 synchroniseur 90 au neurone input 311A du circuit intégrateur 310A, du neurone output 921 du circuit 90 au neurone input 311B du circuit intégrateur 310B, et du neurone output 922 du circuit 90 au neurone input 311C du circuit intégrateur 310C. [00267] Le neurone input 29 lAi du circuit multiplieur 290A est excité depuis le neurone output 313A du circuit intégrateur 310A, et son neurone input 291A2 depuis le neurone 25 output 313C du circuit intégrateur 310C. Le neurone input 291B1 du circuit multiplieur 290B est excité depuis le neurone output 313A du circuit intégrateur 310A, et son neurone input 291B2 depuis le neurone output 313B du circuit intégrateur 310B. [00268] Le dispositif de la figure 33 possède trois neurones output 361, 362 et 363 qui sont les noeuds récepteurs de trois V-synapses excitatrices respectives provenant des 30 neurones output 313A, 313B et 313C des circuits intégrateurs 310A, 310B, 310C. Ces trois 3038997 - 58 - neurones output 361-363 délivrent des paires d'événements dont les intervalles représentent des valeurs de la solution {X(t), Y(t), Z(t)} calculée pour le système (26). [00269] Le dispositif de la figure 33 est réalisé à l'aide de 549 neurones si on utilise les composants tels que décrits en référence aux figures précédentes. Ce nombre de neurones 5 peut être significativement réduit par optimisation. [00270] Les points sur la figure 34 correspondent chacun à un triplet {X(t), Y(t), Z(t)} de valeurs de sortie codé par trois paires de spikes respectivement délivrées par les trois neurones output 361-363, dans un graphe à trois dimensions illustrant une simulation du dispositif représenté sur la figure 33. Le point P représente les valeurs X(0), Y(0), Z(0) 10 d'initialisation de la simulation. Les autres points représentent des triplets calculés par le dispositif de la figure 33. [00271] Le système se comporte de la manière attendue, en conformité avec l'attracteur étrange décrit par Lorenz. F. Discussion 15 [00272] On a montré que l'architecture de calcul proposée, avec la représentation des données sous forme d'intervalles de temps entre événements au sein d'un ensemble de noeuds de traitement, permet de concevoir des circuits relativement simples pour réaliser des fonctions élémentaires de manière très efficace et rapide. En général, les résultats des calculs sont disponibles dès que les différentes données d'entrée ont été fournies (à quelques 20 retards synaptiques près). [00273] Ces circuits peuvent ensuite être assemblés pour exécuter des calculs plus sophistiqués. Ils forment des sortes de briques à partir desquelles on peut construire des structures de calcul performantes. Des exemples en ont été montrés en ce qui concerne la résolution d'équations différentielles. 25 [00274] Lorsque les circuits élémentaires sont assemblés, il est possible d'optimiser le nombre de neurones utilisés. Par exemple, certains des circuits ont été décrits avec des neurones input, et/ou des neurones output et/ou des neurones first, last. Dans la pratique, on peut souvent se passer de ces neurones aux interfaces entre circuits élémentaires sans changer la fonctionnalité remplie. 3038997 - 59 - [00275] Les noeuds de traitement sont typiquement organisés en matrice. Ceci se prête bien notamment à une implémentation à l'aide de FPGA. [00276] Un réseau programmable 400 constituant l'ensemble de noeuds de traitement, ou une partie de cet ensemble, dans un exemple de mise en oeuvre du dispositif de traitement 5 est illustré schématiquement sur la figure 35. Le réseau 400 est constitué de multiples neurones ayant tous le même modèle de comportement en fonction des événements reçus sur leurs connexions. Par exemple, le comportement peut être modélisé par les équations (1) indiquées ci-dessus, avec des paramètres Trn et rf identiques pour les différents noeuds du réseau. 10 [002771 Une logique de programmation ou de configuration 420 est associée au réseau 400 pour régler les poids synaptiques et les paramètres de retard des connexions entre les noeuds du réseau 400. Cette configuration est opérée de manière analogue à ce qui est couramment pratiqué dans le domaine des réseaux de neurones artificiels. Dans le présent contexte, la configuration des paramètres des connexions est effectuée en fonction du 15 programme de calcul qu'il s'agit d'exécuter et en tenant compte de la relation employée entre les intervalles de temps et les grandeurs qu'ils représentent, par exemple la relation (11). Si le programme est décomposé en opérations élémentaires, la configuration peut résulter d'un assemblage de circuits du genre de ceux qui ont été décrits précédemment. Cette configuration est réalisée sous le contrôle d'une unité de commande 410 munie d'une 20 interface homme-machine. [00278] Un autre rôle de l'unité de commande 410 et de fournir les grandeurs d'entrée au réseau programmable 400, sous forme d'événements séparés par des intervalles de temps appropriés, pour que les noeuds de traitement du réseau 400 exécutent le calcul et délivrent les résultats. Ces résultats sont rapidement récupérés par l'unité de commande 410 pour être 25 présentés à un utilisateur ou à une application qui les utilise. [002791 Cette architecture de calcul convient bien à une exécution rapide de calculs massivement parallèles. [00280] En outre, il est relativement facile d'avoir une organisation en pipeline des calculs pour l'exécution d'algorithmes qui se prêtent bien à ce type d'organisation. 3038997 - 60 - [00281] Les modes de réalisation décrits ci-dessus sont des illustrations de la présente invention. Diverses modifications peuvent leur être apportées sans sortir du cadre de l'invention qui ressort des revendications annexées. REVENDICATIONS1. Dispositif de traitement de données, comprenant un ensemble de noeuds de traitement et des connexions entre les noeuds, dans lequel chaque connexion a un noeud émetteur et un noeud récepteur parmi l'ensemble de noeuds de traitement et est configurée pour transmettre au noeud récepteur des événements délivrés par le noeud émetteur, dans lequel chaque noeud est agencé pour faire varier une valeur de potentiel respective (V) en fonction d'événements reçus par ledit noeud et pour délivrer un événement lorsque la valeur de potentiel atteint un seuil prédéfini (V,), et dans lequel les données traitées comprennent au moins une grandeur d'entrée (x) représentée par un intervalle de temps (At) entre deux événements reçus par au moins un noeud et au moins une grandeur de sortie représentée par un intervalle de temps entre deux événements délivrés par au moins un noeud. 2. Dispositif selon la revendication 1, dans lequel chaque noeud de traitement est agencé pour réinitialiser sa valeur de potentiel lorsqu'il délivre un événement. 3. Dispositif selon l'une quelconque des revendications précédentes, dans lequel les connexions entre les noeuds comprennent des connexions de variation de potentiel ayant chacune un poids respectif, et dans lequel le noeud récepteur d'une connexion de variation de potentiel est agencé pour réagir à un événement reçu sur ladite connexion de variation de potentiel en ajoutant à sa valeur de potentiel (V) le poids de ladite connexion de variation de potentiel. 4. Dispositif selon la revendication 3, dans lequel l'ensemble de noeuds de traitement comprend au moins un premier noeud (23) formant le noeud récepteur d'une première connexion de variation de potentiel (22) ayant un premier poids positif (we) égal au seuil prédéfini (V,) pour la valeur de potentiel, et 3038997 - 62 - au moins un second noeud (25) formant le noeud récepteur d'une seconde connexion de variation de potentiel (24) de poids (we/2) égal à la moitié du premier poids, dans lequel le premier noeud (23) forme en outre le noeud émetteur et le noeud récepteur d'une troisième connexion de variation de potentiel (28) de poids (w,) égal à 5 l'opposé du premier poids (we), dans lequel le premier noeud (23) forme en outre le noeud émetteur d'une quatrième connexion (26) et le second noeud (25) forme en outre le noeud émetteur d'une cinquième connexion (27), et dans lequel les première et seconde connexions de variation de potentiel (22, 24) 10 sont configurées pour recevoir chacune deux événements séparés par un premier intervalle de temps (At) représentant une grandeur d'entrée de sorte que les quatrième et cinquième connexions (26, 27) transportent des événements respectifs ayant entre eux un second intervalle de temps en rapport avec le premier intervalle de temps (At). 5. Dispositif selon la revendication 3, comprenant au moins un circuit de calcul de 15 minimum (100), dans lequel le circuit de calcul de minimum comprend : des premier et second noeuds d'entrée (101, 102) ; un noeud de sortie (103) ; des premier et second noeuds de sélection (104, 105) ; 20 des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel (106-111) ayant chacune un premier poids positif (we/2) égal à la moitié du seuil prédéfini (17,) pour la valeur de potentiel ; des septième et huitième connexions de variation de potentiel (112-113) ayant chacune un second poids (w /2) opposé au premier poids ; et 25 des neuvième et dixième connexions de variation de potentiel (114-115) ayant chacune un troisième poids (w i) double du second poids, dans lequel le premier noeud d'entrée (101) forme le noeud émetteur des première et troisième connexions (106, 108) et le noeud récepteur de la dixième connexion (115), dans lequel le second noeud d'entrée (102) forme le noeud émetteur des seconde et quatrième connexions (107, 109) et le noeud récepteur de la neuvième connexion (114), 3038997 - 63 - dans lequel le premier noeud de sélection (104) forme le noeud émetteur des cinquième, septième et neuvième connexions (110, 112, 114) et le noeud récepteur des première et huitième connexions (106, 113), dans lequel le second noeud de sélection (105) forme le noeud émetteur des sixième, 5 huitième et dixième connexions (111, 113, 115) et le noeud récepteur des seconde et septième connexions (107, 112), et dans lequel le noeud de sortie (103) forme le noeud récepteur des troisième, quatrième, cinquième et sixième connexions (108-111). 6. Dispositif selon la revendication 3, comprenant au moins un circuit de calcul de 10 maximum (120), dans lequel le circuit de calcul de maximum comprend : des premier et second noeuds d'entrée (121, 122) ; un noeud de sortie (123) ; des premier et second noeuds de sélection (124, 125) ; 15 des première, seconde, troisième et quatrième connexions de variation de potentiel (126-129) ayant chacune un premier poids positif (we/2) égal à la moitié du seuil prédéfini (17,) pour la valeur de potentiel ; et des cinquième et sixième connexions de variation de potentiel (132-133) ayant chacune un second poids (w i) égal au double de l'opposé du premier poids, 20 dans lequel le premier noeud d'entrée (121) forme le noeud émetteur des première et troisième connexions (126, 128), dans lequel le second noeud d'entrée (122) forme le noeud émetteur des seconde et quatrième connexions (127, 129), dans lequel le premier noeud de sélection (104) forme le noeud émetteur de la 25 cinquième connexion (132) et le noeud récepteur des première et sixième connexions (126, 133), dans lequel le second noeud de sélection (105) forme le noeud émetteur de la sixième connexion (133) et le noeud récepteur des seconde et cinquième connexions (127, 132), et dans lequel le noeud de sortie (123) forme le noeud récepteur des troisième et 30 quatrième connexions (128, 129). 3038997 - 64 - 7. Dispositif selon la revendication 3, comprenant au moins un circuit soustracteur (140, 170), dans lequel le circuit soustracteur (140, 170) comprend : des premier et second noeuds de synchronisation (145, 146) ; 5 des premier et second noeuds d'inhibition (147, 148) ; des premier et second noeuds de sortie (143, 144) ; des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel (106-111) ayant chacune un premier poids positif (we) égal au seuil prédéfini (17,) pour la valeur de potentiel ; 10 des septième et huitième connexions de variation de potentiel (160, 161) ayant chacune un second poids (we/2) égal à la moitié du premier poids ; des neuvième et dixième connexions de variation de potentiel (158, 159) ayant chacune un troisième poids (wi) opposé au premier poids ; et des onzième et douzième connexions de variation de potentiel (162, 163) 15 ayant chacune un quatrième poids (2w,) double du troisième poids, dans lequel le premier noeud de synchronisation (145) forme le noeud émetteur des première, seconde, troisième et neuvième connexions (152, 153, 154, 158), dans lequel le second noeud de synchronisation (146) forme le noeud émetteur des quatrième, cinquième, sixième et dixième connexions (155, 156, 157, 159), 20 dans lequel le premier noeud d'inhibition (147) forme le noeud émetteur de la onzième connexion (162) et le noeud récepteur des troisième, huitième et dixième connexions (154, 161, 159), dans lequel le second noeud d'inhibition (148) forme le noeud émetteur de la douzième connexion (163) et le noeud récepteur des sixième, septième et neuvième 25 connexions (157, 160, 158), dans lequel le premier noeud de sortie (143) forme le noeud émetteur de la septième connexion (160) et le noeud récepteur des première, cinquième et onzième connexions (152, 156, 162), dans lequel le second noeud de sortie (144) forme le noeud émetteur de la huitième 30 connexion (161) et le noeud récepteur des seconde, quatrième et douzième connexions (153, 155, 163), 3038997 - 65 - et dans lequel le premier noeud de synchronisation (145) est configuré pour recevoir, sur au moins une connexion de variation de potentiel (150) ayant le second poids, une première paire d'événements ayant entre eux un premier intervalle de temps (Ati) représentant un premier opérande (xi), et le second noeud de synchronisation (146) est 5 configuré pour recevoir, sur au moins une connexion de variation de potentiel (151) ayant le second poids, une seconde paire d'événements ayant entre eux un second intervalle de temps (At2) représentant un second opérande (x2), de sorte qu'une troisième paire d'événements ayant entre eux un troisième intervalle de temps (Atout) est délivrée par le premier noeud de sortie (143) si le premier intervalle de temps (Ati) est plus long que le 10 second intervalle de temps (At2) et par le second noeud de sortie (144) si le premier intervalle de temps (Ati) est plus court que le second intervalle de temps (At2), le troisième intervalle de temps (Atout) représentant la valeur absolue de la différence entre les premier et second opérande (xi, x2). 8. Dispositif selon la revendication 7, 15 dans lequel le circuit soustracteur (170) comprend en outre une logique de détection de zéro incluant au moins un noeud de détection (171) associé à des connexions de détection et d'inhibition (172-178) avec les premier et second noeud de synchronisation (145, 146), l'un des premier et second noeud d'inhibition (147, 148) et l'un des premier et second noeud de sortie (143, 144), 20 et dans lequel les connexions de détection et d'inhibition (172-178) sont plus rapides que les première, seconde, troisième, quatrième, cinquième, sixième, septième, huitième, neuvième, dixième, onzième et douzième connexions (152-163), pour inhiber la production d'événements par l'un des premier et second noeuds de sortie (143, 144) lorsque les premier et second intervalles de temps (Ati, At2) sont 25 sensiblement égaux. 9. Dispositif selon l'une quelconque des revendications 3 à 8, dans lequel l'ensemble de noeuds de traitement comprend au moins un noeud agencé pour faire varier une valeur de courant en fonction d'événements reçus sur au moins une connexion de réglage de courant, et pour faire varier sa valeur de potentiel au cours du 30 temps avec un taux de variation proportionnel à ladite valeur de courant. 3038997 - 66 - 10. Dispositif selon la revendication 9, dans lequel un noeud de traitement agencé pour faire varier une valeur de courant est agencé pour remettre à zéro ladite valeur de courant lorsqu'il délivre un événement. 11. Dispositif selon la revendication 9 ou la revendication 10, 5 dans lequel la valeur de courant dans au moins un noeud a une composante (ge) constante entre deux événements reçus sur au moins une connexion de réglage de composante constante de courant ayant un poids respectif, et dans lequel le noeud récepteur d'une connexion de réglage de composante constante de courant est agencé pour réagir à un événement reçu sur ladite connexion en 10 ajoutant le poids de ladite connexion à la composante constante (ge) de sa valeur de courant. 12. Dispositif selon la revendication 11, comprenant au moins un circuit de mémoire inverseuse (18), dans lequel le circuit de mémoire inverseuse comprend : un noeud accumulateur (30) ; 15 des première, seconde et troisième connexions de réglage de composante constante de courant, les première et troisième connexions (26, 34) ayant un même poids positif (wacc) et la seconde connexion (27) ayant un poids (-wacc) opposé au poids des première et troisième connexions ; et au moins une quatrième connexion (35), 20 dans lequel le noeud accumulateur (30) forme le noeud récepteur des première, seconde et troisième connexions (26, 27, 34) et le noeud émetteur de la quatrième connexion (35), et dans lequel les première et seconde connexions (26, 27) sont configurées pour adresser respectivement au noeud accumulateur (30) des premier et second événements 25 ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le noeud accumulateur (30) réagit ensuite à un troisième événement reçu sur la troisième connexion (34) en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion 3038997 - 67 - (35), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. 13. Dispositif selon la revendication 12, comprenant au moins un circuit de mémoire (40), 5 dans lequel le circuit de mémoire comprend : des premier et second noeuds accumulateurs (42, 44) ; des première, seconde, troisième et quatrième connexions de réglage de composante constante de courant, les première, seconde et quatrième connexions (41, 43, 51) ayant chacune un premier poids positif (wacc) et la troisième 10 connexion (45) ayant un poids (-wacc) opposé au poids des première, seconde et quatrième connexions ; et au moins une cinquième connexion (52), dans lequel le premier noeud accumulateur (42) forme le noeud récepteur de la première connexion (41) et le noeud émetteur de la troisième connexion (45), 15 dans lequel le second noeud accumulateur (44) forme le noeud récepteur des seconde, troisième et quatrième et cinquième connexions (43, 45, 51) et le noeud émetteur de la cinquième connexion (52), et dans lequel les première et seconde connexions (41, 43) sont configurées pour adresser respectivement aux premier et second noeuds accumulateurs (42, 44) des premier et 20 second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le second noeud accumulateur (44) réagit ensuite à un troisième événement reçu sur la quatrième connexion (51) en faisant croître sa valeur de potentiel jusqu' à délivrance d'un quatrième événement sur la cinquième connexion (52), les troisième et quatrième événements ayant entre eux un 25 second intervalle de temps en relation avec le premier intervalle de temps. 14. Dispositif selon la revendication 13, dans lequel le circuit de mémoire (40) comprend une sixième connexion (46) ayant le premier noeud accumulateur (42) comme noeud émetteur, la sixième connexion délivrant un événement pour signaler la disponibilité en lecture du circuit de mémoire. 3038997 - 68 - 15. Dispositif selon la revendication 14, comprenant au moins un circuit de synchronisation (90, 98) incluant un nombre N> 1 de circuits de mémoire (40f, 40N_i) et un noeud de synchronisation (95), dans lequel le noeud de synchronisation (95) est sensible à chaque événement délivré 5 sur la sixième connexion de l'un des N circuits de mémoire (40i, 40N_1) via une connexion de variation de potentiel respective (46 ; 960, ..., 96N-1) de poids égal au premier poids divisé par N, et dans lequel le noeud de synchronisation (95) est agencé pour provoquer une réception simultanée des troisièmes événements via les quatrièmes connexions (51) 10 respectives des N de circuits de mémoire (401, ..., 40N-1). 16. Dispositif selon la revendication 11, comprenant au moins un circuit de cumul (180), dans lequel le circuit de cumul comprend : N entrées (1810, 181N_1) ayant chacune un coefficient de pondération respectif (ao, aNl), N étant un nombre entier supérieur à 1 ; 15 un noeud accumulateur (184) ; un noeud de synchronisation (185) ; pour chacune des N entrées du circuit de cumul (180) : une première connexion de réglage de composante constante de courant (182o, ..., 182N-1) ayant un premier poids positif (mw acc, - - - , 20 aN_ Wacc) proportionnel au coefficient de pondération respectif de ladite entrée ; et une seconde connexion de réglage de composante constante de courant (1830, ..., 183N-1) ayant un second poids ( acc, -aN-1W acc) opposé au premier poids ; et 25 une troisième connexion de réglage de composante constante de courant (186) ayant un troisième poids positif (wacc), dans lequel le noeud accumulateur (184) forme le noeud récepteur des premières, secondes et troisième connexions (1810, ..., 181N-1, 182o, ..., 182N-1, 186), dans lequel le noeud de synchronisation (185) forme le noeud émetteur de la troisième 30 connexion (186), 3038997 - 69 - dans lequel, pour chacune des N entrées, les première et seconde connexions (181o, ..., 181N_1, 1820, ..., 182N_1) sont configurées pour adresser respectivement au noeud accumulateur (184) des premier et second événements ayant entre eux un premier intervalle de temps représentant un opérande respectif fourni sur ladite entrée, 5 dans lequel le noeud de synchronisation (185) est configuré pour délivrer un troisième événement une fois que les premier et second événements ont été adressés pour chacune des N entrées, de sorte que le noeud accumulateur (184) fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de 10 temps représentant une somme pondérée des opérandes fournis sur les N entrées. 17. Dispositif selon la revendication 16, dans lequel le circuit de cumul (180) fait partie d'un circuit de sommation pondérée (190) comprenant en outre : un second noeud accumulateur (188) ; 15 une quatrième connexion de réglage de composante constante de courant (191) ayant le troisième poids (wacc) ; et des cinquième et sixième connexions (193, 192), dans lequel le noeud de synchronisation (185) du circuit de cumul forme le noeud émetteur de la quatrième connexion (191), 20 dans lequel le noeud accumulateur (184) du circuit de cumul forme le noeud émetteur de la cinquième connexion (193), dans lequel le second noeud accumulateur (188) forme le noeud récepteur de la quatrième connexion (191) et le noeud émetteur de la sixième connexion (192), dans lequel, en réponse à la délivrance du troisième événement par le noeud de 25 synchronisation (185), le noeud accumulateur (184) du circuit de cumul fait croître sa valeur de potentiel jusqu'à délivrance du quatrième événement sur la cinquième connexion (193), et le second noeud accumulateur (188) fait croître sa valeur de potentiel jusqu'à délivrance d'un cinquième événement sur la sixième connexion (192), les quatrième et cinquième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle 30 de temps représentant une somme pondérée des opérandes fournis sur les N entrées du circuit de cumul (180). 3038997 - 70 - 18. Dispositif selon la revendication 16, comprenant deux circuits de cumul (180A, 180B) assemblés dans un circuit de combinaison linéaire (200), dans lequel les deux circuits de cumul (180A, 180B) partagent leur noeud de synchronisation (184), 5 dans lequel le circuit de combinaison linéaire comprend en outre un circuit soustracteur (170) configuré pour réagir au troisième événement délivré par le noeud de synchronisation partagé (185) et aux quatrièmes événements respectivement délivrés par les noeuds accumulateurs (184) des deux circuits de cumul (180A, 180B) en délivrant une paire d'événements ayant entre eux un troisième intervalle de temps représentatif de la différence 10 entre la somme pondérée pour l'un des deux circuits de cumul et la somme pondérée pour l'autre des deux circuits de cumul. 19. Dispositif selon l'une quelconque des revendications 11 à 18, dans lequel la valeur de courant dans au moins un noeud a une composante (gf) à décroissance exponentielle entre deux événements reçus sur au moins une connexion de 15 réglage de composante de courant à décroissance exponentielle ayant un poids respectif, et dans lequel le noeud récepteur d'une connexion de réglage de composante de courant à décroissance exponentielle est agencé pour réagir à un événement reçu sur ladite connexion en ajoutant le poids de ladite connexion à la composante à décroissance exponentielle (gf) de sa valeur de courant. 20 20. Dispositif selon la revendication 19, comprenant au moins un circuit de calcul de logarithme (210), dans lequel le circuit de calcul de logarithme comprend : un noeud accumulateur (216) ; des première et seconde connexions de réglage de composante constante de 25 courant, la première connexion (212) ayant un poids positif (Fi acc), et la seconde connexion (214) ayant un poids ( -Watt) opposé au poids de la première connexion ; une troisième connexion de réglage de composante de courant à décroissance exponentielle (217) ; et 3038997 -71- au moins une quatrième connexion (222), dans lequel le noeud accumulateur (216) forme le noeud récepteur des première, seconde et troisième connexions (212, 214, 217) et le noeud émetteur de la quatrième connexion (222), 5 dans lequel les première et seconde connexions (212, 214) sont configurées pour adresser au noeud accumulateur (216) des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (At) représentant une grandeur d'entrée (x) du circuit de calcul de logarithme (210), dans lequel la troisième connexion (217) est configurée pour adresser au noeud 10 accumulateur (216) un troisième événement simultané ou postérieur au second événement, de sorte que le noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion (222), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (Atout) représentant un logarithme de ladite grandeur d'entrée. 15 21. Dispositif selon la revendication 19, dans lequel au moins un noeud (238 ; 268) prenant en compte une composante de courant (gf) à décroissance exponentielle est le noeud récepteur d'une connexion de désactivation (236 ; 271) pour recevoir des événements de désactivation de la composante à décroissance exponentielle. 20 22. Dispositif selon la revendication 21, comprenant au moins un circuit de calcul d'exponentielle (230), dans lequel le circuit de calcul d'exponentielle comprend : un noeud accumulateur (238) ; une première connexion de réglage de composante de courant à décroissance 25 exponentielle (232) ; une seconde connexion de désactivation (236) ; une troisième connexion de réglage de composante constante de courant (237) ; et au moins une quatrième connexion (242), 3038997 - 72 - dans lequel le noeud accumulateur (238) forme le noeud récepteur des première, seconde et troisième connexions (232, 236, 237) et le noeud émetteur de la quatrième connexion (242), dans lequel les première et seconde connexions (232, 236) sont configurées pour 5 adresser au noeud accumulateur (238) des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (At) représentant une grandeur d'entrée (x) du circuit de calcul d'exponentielle (230), dans lequel la troisième connexion (237) est configurée pour adresser au noeud accumulateur (238) un troisième événement simultané ou postérieur au second événement, 10 de sorte que le noeud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion (242), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (Atout) représentant une exponentielle de ladite grandeur d'entrée. 23. Dispositif selon la revendication 21, comprenant au moins un circuit multiplieur 15 (250), dans lequel le circuit multiplieur comprend : des premier, second et troisième noeuds accumulateurs (2561, 2562, 268) ; un noeud de synchronisation (260) ; des première, seconde, troisième, quatrième et cinquième connexions de 20 réglage de composante constante de courant, les première, troisième et cinquième connexions (2521, 2522, 272) ayant un premier poids positif (/Tiacc), et les seconde et quatrième connexions (2541, 2542) ayant un second poids (-iTi acc) opposé au premier poids ; des sixième, septième et huitième connexions de réglage de composante de 25 courant à décroissance exponentielle (262, 265, 269) ; une neuvième connexion de désactivation (271) ; et au moins une dixième connexion (276), dans lequel le premier noeud accumulateur (2561) forme le noeud récepteur des première, seconde et sixième connexions (2521, 2541, 262) et le noeud émetteur de la 30 septième connexion (265), 3038997 - 73 - dans lequel le second noeud accumulateur (2562) forme le noeud récepteur des troisième, quatrième et septième connexions (2522, 2542, 265) et le noeud émetteur des cinquième et neuvième connexions (272, 271), dans lequel le troisième noeud accumulateur (268) forme le noeud récepteur des 5 cinquième, huitième et neuvième connexions (272, 269, 271) et le noeud émetteur de la dixième connexion (276), dans lequel le noeud de synchronisation (260) forme le noeud émetteur des sixième et huitième connexions (272, 271), dans lequel les première et seconde connexions (2521, 2541) sont configurées pour 10 adresser au premier noeud accumulateur (2561) des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (Ati) représentant un premier opérande (xi) du circuit multiplieur (250), dans lequel les troisième et quatrième connexions (2522, 2542) sont configurées pour adresser au second noeud accumulateur (2562) des troisième et quatrième événements 15 respectifs ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (At2) représentant un second opérande (x2) du circuit multiplieur (250), dans lequel le noeud de synchronisation (260) est configuré pour délivrer un cinquième événement sur les sixième et huitième connexions une fois que les premier, second, troisième et quatrième événements ont été reçus, de sorte : 20 que le premier noeud accumulateur (2561) fait croître sa valeur de potentiel jusqu'à délivrance d'un sixième événement sur la septième connexion (265) ; qu'en réponse au sixième événement, le second noeud accumulateur (2562) fait croître sa valeur de potentiel jusqu'à délivrance d'un septième événement sur les cinquième et neuvième connexions (272, 271) ; 25 qu'en réponse au septième événement, le troisième noeud accumulateur (268) fait croître sa valeur de potentiel jusqu'à délivrance d'un huitième événement sur la dixième connexion (276), les septième et huitième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps (Atout) représentant le produit des premier et second opérandes (xi, x2). 30 24. Dispositif selon la revendication 23, comprenant en outre une logique de détection de signe (300-303) associée au circuit multiplieur (250) pour détecter les signes respectifs 3038997 - 74 - des premier et second opérandes (xi, x2) et faire délivrer deux événements ayant entre eux l'intervalle de temps (Atm) représentant le produit des premier et second opérandes sur l'une ou l'autre de deux sorties du circuit multiplieur (250) en fonction des signes détectés. 25. Dispositif selon l'une quelconque des revendications précédentes, 5 dans lequel chaque connexion est associée à un paramètre de retard, pour signaler au noeud récepteur de ladite connexion d'effectuer un changement d'état avec, par rapport à la réception d'un événement sur ladite connexion, un retard indiqué par ledit paramètre. 26. Dispositif selon l'une quelconque des revendications précédentes, dans lequel l'intervalle de temps At entre deux événements représentant une 10 grandeur de valeur absolue x est de la forme At = Tniin+ x.T 'd, où T,,,, et T'd sont des paramètres temporels prédéfinis. 27. Dispositif selon la revendication 26, dans lequel les grandeurs représentées par des intervalles de temps ont des valeurs absolues x comprises entre 0 et 1. 15 28. Dispositif selon l'une quelconque des revendications précédentes, comprenant, pour une grandeur d'entrée (x) : une première entrée comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la première entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps (At) représentant une valeur positive de ladite grandeur d'entrée 20 (x) ; et une seconde entrée comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la seconde entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps (At) représentant une valeur négative de ladite grandeur d'entrée (x). 25 29. Dispositif selon l'une quelconque des revendications précédentes, comprenant, pour une grandeur de sortie (x) : 3038997 - 75 - une première sortie comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la première sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps (At) représentant une valeur positive de ladite grandeur de sortie (x) ; et 5 une seconde sortie comportant un noeud ou deux noeuds parmi l'ensemble de noeuds de traitement, la seconde sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps (At) représentant une valeur négative de ladite grandeur de sortie (x). 30. Dispositif selon l'une quelconque des revendications précédentes, dans lequel l'ensemble de noeuds de traitement est sous la forme d'au moins un 10 réseau programmable (400), les noeuds du réseau ayant un modèle de comportement commun en fonction des événements reçus, le dispositif comprenant en outre une logique de programmation (420) pour régler des poids et des paramètres de retard des connexions entre les noeuds du réseau en fonction d'un programme de calcul, et une unité de commande (410) pour fournir des grandeurs d'entrée au réseau et récupérer des grandeurs de sortie calculées 15 conformément au programme.