Brevet FR3065826A1 — publié le 20181102

Domaine de l'invention La prÃ©sente invention concerne un procÃ©dÃ© ainsi qu'un dispositif automatisÃ© apte Ã mÃ©moriser, rappeler et, gÃ©rer de maniÃ¨re non volatile, des associations de 5 messages versus labels et vice versa, avec un maximum de vraisemblance. Elle concerne Ã©galement un systÃ¨me de mÃ©morisation des apprentissages de rÃ©seaux de populations neuronales. L'invention s'applique notamment pour l'implÃ©mentation de rÃ©seaux de neurones sur silicium pour le traitement de signaux divers, y compris des signaux 10 multidimensionnels comme la reprÃ©sentation de perception d'images, de son ou d'autres modalitÃ©s perÃ§ues indÃ©pendamment ou simultanÃ©ment par exemple. Plus gÃ©nÃ©ralement, l'invention permet la rÃ©alisation efficace sur silicium d'une chaine complÃ¨te du traitement du signal par l'approche bio-inspirÃ© de rÃ©seaux de populations neuronales. Elle permet aussi la rÃ©alisation efficace de mÃ©thodes de 15 traitement du signal conventionnelles, utile par exemple en prÃ©traitement avant le traitement neuronal et/ou en post-traitement. Etat de la technique 20 La mÃ©moire de l'Ãªtre humain est fondamentalement associative : on retient mieux lorsqu'on peut relier la nouvelle information Ã des connaissances dÃ©jÃ acquises et solidement ancrÃ©es dans notre mÃ©moire. Et ce lien sera d'autant plus efficace qu'il a une signification pour nous. PlutÃ´t que la simple Ã©vocation de traces fixes, la mÃ©moire est donc aujourd'hui considÃ©rÃ©e comme un processus continuel de rÃ©- 25 catÃ©gorisation dÃ©coulant d'un changement continu des voies antagonistes neuronales et du traitement en parallÃ¨le de l'information dans le cerveau. La technique tente de copier ces processus en utilisant principalement le procÃ©dÃ© Ã©lectronique appelÃ© mÃ©moire associative ou mÃ©moire adressable par contenu (CAM, en anglais Content-Addressable Memory). Un Ã©tat des dÃ©veloppements en a 30 Ã©tÃ© fait dans la publication de K. Pagiamtzis et A. Sheikholeslami, Â« Contentaddressable memory (CAM) circuits and architectures : A tutorial and survey Â» IEEE Journal of Solid-State Circuits, vol. 41, no. 3, pp. 712-727, Mar 2006. 3065826 2 Cette mÃ©morisation est devenue non volatile avec l'apparition des mÃ©moires MRAM (Magnetic Random Access Memory) oÃ¹ tes donnÃ©es sont stockÃ©es sous forme d'une orientation magnÃ©tique. Le changement d'Ã©tat se fait en changeant le spin des Ã©lectrons (par effet tunnel notamment). Ces composants sont commercialisÃ©s par la sociÃ©tÃ© Everspin entre autres. En France, une technologie MRAM a Ã©tÃ© codÃ©veloppÃ©e par le laboratoire Spintec du CNRS et la sociÃ©tÃ© Crocus Technology Ã Grenoble. Elle repose sur une technique de programmation innovante qui permet de s'affranchir des limitations en stabilitÃ© et en rÃ©duction de taille. Ã la place du traditionnel empilement de couches ferromagnÃ©tiques, les partenaires ont dÃ©veloppÃ© un point mÃ©moire qui associe une couche ferromagnÃ©tique Ã une couche antiferromagnÃ©tique plus stable avec la tempÃ©rature. S'ajoute Ã cela une technique de cellule mÃ©moire autorÃ©fÃ©rencÃ©e qui permet d'intÃ©grer directement dans le plan mÃ©moire une fonction de comparaison logique nommÃ©e Match-In-Place. Le brevet US9 401 208 B2 Â« Magnetic random access memory cell with a dual junction for terne!), content addressable memoty applications Â» de cette mÃªme sociÃ©tÃ© dÃ©crit l'intÃ©gration d'un mode ternaire : Le CAM ternaire permet un troisiÃ¨me Ã©tat de correspondance appelÃ© "X" ou "quelconque" pour un ou plusieurs bits dans le mot de donnÃ©e stockÃ©, permettant l'ajout de flexibilitÃ© dans la recherche. Par exemple, un CAM ternaire pourrait avoir un mot stockÃ© de "10XXO" qui correspondra aux recherches des mots "10000", "10010", "10100", ou "10110". Cette cellule mÃ©moire est du type STT-MRAM (pour en anglais, spin transfert torque magnetic RAM). Son dimensionnement permet une intÃ©gration Ã grande Ã©chelle et faible cout avec une consommation trÃ¨s rÃ©duite et la garantie d'une trÃ¨s 25 longue rÃ©tention de l'information. Un autre procÃ©dÃ© de mÃ©moire non volatile Ã©merge actuellement, appelÃ© NRAM pour Nano-RAM, qui est le fruit des recherches menÃ©es par Nantero, une firme amÃ©ricaine. Elle utilise les caractÃ©ristiques des nanotubes de carbones qui permettent de rÃ©duire considÃ©rablement la taille d'une puce et donc d'accroÃ®tre la 30 capacitÃ© d'un module. Ce procÃ©dÃ© mÃ©moire est dÃ©crit dans le brevet nÂ° US 9 299 430 B1 Â« Method for reading and programming 1-R resistive charge element arrays Â» de cette compagnie. 3065826 3 Chaque cellule est composÃ©e d'un certain nombre de nanotubes suspendus au-dessus d'une Ã©lectrode. Lorsqu'un courant passe entre les deux Ã©lectrodes, les nanotubes se trouvent attirÃ©s vers l'Ã©lectrode supÃ©rieure pour venir rentrer en contact. Dans le cas oÃ¹ il n'y a pas de courant entre les deux Ã©lectrodes, les 5 nanotubes de carbone restent suspendus dans les airs. Pour savoir si les nanotubes touchent ou non l'Ã©lectrode supÃ©rieure, une tension est envoyÃ©e entre le terminal et l'Ã©lectrode supÃ©rieure. Si le courant passe, cela signifie que les nanotubes sont en contact avec l'Ã©lectrode supÃ©rieure et l'on renvoie la valeur 1. Si le courant ne passe pas, les nanotubes sont suspendus et l'on renvoie la valeur 0. 10 Les valeurs 0 et 1 sont donc des positions dites stables, car il n'y a aucune tension mÃ©canique sur les nanotubes. Cette architecture est plus favorable Ã l'augmentation de la finesse de gravure que celle de la DRAM et demande moins de courant pour l'Ã©criture de donnÃ©es tout en ayant des vitesses similaires Ã la SRAM. 15 Une autre technique de mÃ©moire non volatile basÃ©e sur un procÃ©dÃ© ferroÃ©lectrique de l'oxyde d'hafnium dÃ©crit dans le brevet US7,709,359 est trÃ¨s prometteuse par une taille de cellule rÃ©duite, environ 10F2, une consommation en mode Ã©criture au moins 1000 fois infÃ©rieure Ã la STT-MRAM, et une compatibilitÃ© de fabrication avec la technologie CMOS, aussi bien en Ã©chelle de gravure qu'en compatibilitÃ© de 20 processus. Ces technologies ont donnÃ© lieu Ã plusieurs dÃ©veloppements publiÃ©s dans le domaine des sciences neuronales dont celle de : - V. Gripon and C. Berrou, "Sparse neural networks with large learning diversity," IEEE trans. on Neural Networks, vol. 22, n 7, pp. 1087-1096, July 2011. Cet article donne une dÃ©finition de : o la diversitÃ© d'apprentissage grÃ¢ce Ã la parcimonie (en tant que traduction de l'anglais sparsity) de l'information Ã partir d'une quantitÃ© d'informations mÃ©morisÃ©es M, dans la description qui suit : Ã©gale Ã 2" avec une quantitÃ© de codes correspondant au sous-message 1=2*, le message k Ã©tant constituÃ© de c sous-messages (dans la description qui suit : un message ME constituÃ© de n sous-messages). La longueur du message ME est donc de n fois w bits et la diversitÃ© de mÃ©morisation est de 2n+w. 3065826 4 o La densitÃ© d qui, pour une valeur de M Â»c (ici 2" >> n-8) et MÂ« 12 (ici 2" Â« 2n+w) est proche de M/I2 soit dans la description qui suit : d= 2"122' ou 2"-(2+w). Cette densitÃ© se doit d'Ãªtre faible afin d'Ã©viter la confusion des messages appris 5 correspondant au taux d'erreurs admissibles, avec les valeurs de v=16 et w=24, d=2-1Â° soit un taux d'erreurs proche de 0,001. AssociÃ© Ã cet article, les auteurs ont dÃ©posÃ©s deux brevets : FR2964222A1 et FR2980876A1 dÃ©crivant un dispositif neuronal utilisant ces principes. - Hooman Jarollahi, Vincent Gripon, Naoya Onizawa, and Warren J. Gross 10 Â« A low-power Content-Addressable Memory based on clustered-sparse networks Â» ASAP, 2013 IEEE 24th int. conference. - F. Leduc-Primeau, V. Gripon, M. G. Rabbat, and W. J. Gross, "Clusterbased associative memories built from unreliable storage," in Proc. Of IEEE Intl. Conf. on Acoustics, Speech, and Signal Processing (ICASSP), May 2014. 15 - Demetrio Ferro, Vincent Gripon, Xiaoran Jiang, "Nearest Neighbour Search Using Binary Neural Networks" International Joint Conference on Neural Networks (IJCNN) 2016. - Qing Guo, Xiaochen Guo, Yuxin Bai, Enginipek, "A Resistive TCAM Accelerator for Data-Intensive Computing "MICRO'11 December 3-7, 2011, 20 Porto Alegre, Brazil et, - Qing Guo, Xiaochen Guo, Ravi Patel, Engin_lpek, Eby G. Friedman "ACDIMM: Associative Computing with STT-MRAM", ISCA '2013 Tel-Aviv, Israel, ont introduit ces mÃ©canismes de mÃ©moire associative dans un composant Ã©lectronique agencÃ© en tant que barrette mÃ©moire au format 25 DIMM en remplacement de celles existantes, donc en utilisant l'organisation des bus existants. Toutes ces approches de mÃ©morisation par association ne permettent pas un fonctionnement concomitant dans les deux sens (bottom up and top-down) existant dans le vivant et permettant le bouclage dynamique de l'information. D'autre part, 30 les Ã©lÃ©ments mÃ©morisÃ©s ne sont pas transfÃ©rables simplement d'un support Ã un autre support. Une autre approche a Ã©tÃ© abordÃ©e par P. Pirim, auteur de cette prÃ©sente invention, dans le but de pallier ces inconvÃ©nients dans une publication : "Perceptive 3065826 5 Invariance and Associative Memory Between Perception and Semantic Representation, USER a Universal Semantic Representation lmplemented in a System on Chip (SoC)" publiÃ© dans Living Machines 2016, LNAI 9793, pp. 275287, 2016. Cette premiÃ¨re approche succincte, a Ã©tÃ© suivie de nombreuses 5 amÃ©liorations dÃ©crites dans cette invention. Un nouveau modÃ¨le de la mÃ©moire associative a Ã©tÃ© crÃ©Ã© en intÃ©grant les nouvelles techniques TCAM permettant la correction d'erreur par un calcul de maximum de vraisemblance dans une grande intÃ©gration Ã cout rÃ©duit. 10 Objectif de l'invention L'invention concerne donc un procÃ©dÃ© ainsi qu'un dispositif automatisÃ© apte Ã mÃ©moriser, rappeler et, gÃ©rer de maniÃ¨re non volatile, des associations, avec un 15 maximum de vraisemblance, de messages versus labels et inversement, appelÃ© - MÃ©morisation Associative Â» dans la suite du texte. Ce ProcÃ©dÃ© de MÃ©morisation Associative est composÃ© d'un assemblage de au moins deux sous-unitÃ©s mÃ©moires similaires Ã accÃ¨s par contenu de 2" mots de w bits pour la premiÃ¨re, avec v compris entre 1 et w et, de 2" mots de v bits pour la 20 seconde. La sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode Ã©criture par, - un port d'adresses en mode entrÃ©e de v bits, - un port de donnÃ©es en mode entrÃ©e de v ou w bits et - un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement 25 et deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire et l'autre d'Ã©criture, ces deux signaux Ã©tant validÃ©s dans cette sÃ©quence d'Ã©criture, permettant, pendant ce cycle, l'enregistrement du mot de v ou w bits prÃ©sent sur le port de donnÃ©es Ã la position mÃ©moire adressÃ©e par le mot de de v bits sur le port d'adresses, 30 et cette mÃªme sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode lecture par, - un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement, deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire 3065826 6 valide, et l'autre d'Ã©criture non valide dans cette sÃ©quence de lecture et un signal de sortie binaire de validation du contenu prÃ©sent selon l'invention dans ce mode lecture : - l'on rÃ©alise une lecture, sur un port de sortie des donnÃ©es, d'une donnÃ©e 5 de v ou w bits, prÃ©cÃ©demment enregistrÃ©es en mode Ã©criture, sÃ©lectionnÃ©e par un mot de v bits prÃ©sentÃ© sur le port d'adresses entrÃ©e et indÃ©pendamment, - l'on rÃ©alise une lecture, sur un port de sortie d'adresses de contenu mÃ©moire, d'une donnÃ©e de v bits, correspondant Ã l'adresse de la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e, si prÃ©cÃ©demment cette donnÃ©e de v ou w bits a Ã©tÃ© enregistrÃ©e en mode Ã©criture Ã au moins une position mÃ©moire, en validant le signal binaire de sortie de validation du contenu prÃ©sent. Dans le cas contraire oÃ¹ aucune des 2" positions mÃ©moires contiennent la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de 15 donnÃ©es entrÃ©e, la sortie non valide du port de sortie d'adresses de contenu mÃ©moire est signalÃ©e par la non validation du signal binaire de sortie de validation du contenu prÃ©sent Dans divers modes de mise en oeuvre de l'invention, les moyens suivants pouvant Ãªtre utilisÃ©s seuls ou selon toutes les combinaisons techniquement envisageables, 20 sont employÃ©s : l'unitÃ© MÃ©morisation Associative sÃ©lectionnÃ©e en mode lecture, (Wr = 0), l'on associe au moins deux sous-unitÃ©s mÃ©moires similaires par deux bus indÃ©pendant de v bits : - le premier bus, connectÃ© entre le port de sortie d'adresses de contenu 25 mÃ©moire de v bits de la premiÃ¨re mÃ©moire associative et le port d'adresses en mode entrÃ©e de v bits de la seconde mÃ©moire associative et, - le second bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire de v bits de la seconde mÃ©moire associative et le port d'adresses en mode entrÃ©e de v bits de la premiÃ¨re mÃ©moire associative. 30 - l'unitÃ© MÃ©morisation Associative sÃ©lectionnÃ©e en mode Ã©criture, l'on associe au moins deux sous-unitÃ©s mÃ©moires similaires, par un bus commun de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e de v bits de chaque mÃ©moire associative. 3065826 7 - l'unitÃ© MÃ©morisation Associative possÃ¨de une phase d'initialisation, impliquant l'ensemble des sous-unitÃ©s mÃ©moires prÃ©sentes, commandÃ©e par une unitÃ© d'initialisation des sous-unitÃ©s mÃ©moires qui est dÃ©clenchÃ© par la validation des signaux binaires entrÃ©es d'initialisation et de sÃ©lection de l'ensemble des 5 mÃ©moires issu du port de commande. Cet unitÃ© d'initialisation initialise Ã zÃ©ro le compteur binaire de v bits, puis l'incrÃ©mente d'une unitÃ© Ã chaque cycle d'horloge entrÃ©e binaire de sÃ©quencement pendant 2" +1 cycles. Durant ce laps de temps l'unitÃ© d'initialisation valide le mode Ã©criture, (signal entrÃ©e binaire d'Ã©criture validÃ©), et le forÃ§age Ã zÃ©ro du port entrÃ©e des donnÃ©es (In) de 10 chacune des sous unitÃ©s mÃ©moires. En fin de sÃ©quence, toutes les positions mÃ©moires de chacune des sous-unitÃ©s mÃ©moires sont initialisÃ©es Ã zÃ©ro ainsi que le compteur binaire de v bits, en dehors de la sÃ©quence d'initialisation, le signal entrÃ©e binaire de sÃ©lection de la mÃ©moire Ã©tant validÃ©, l'on incrÃ©mente le compteur binaire (3) de v bits d'une 15 valeur unitaire en dÃ©but de chaque validation du signal d'Ã©criture mÃ©moire, on valide un signal de limite de comptage lorsque la valeur du compteur binaire de v bits atteint la valeur 2" -1, programmÃ©e en mode lecture, l'on regroupe les sous-unitÃ©s mÃ©moires en deux ensembles, le premier intÃ©grant n sous-unitÃ©s mÃ©moires comprenant chacune 20 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits, ces deux ensembles Ã©tant liÃ©s par deux bus antagonistes : - le premier bus, issu du port de sortie d'adresses de contenu mÃ©moire de v bits de la sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits, est 25 connectÃ© sur le port d'adresses en mode entrÃ©e de v bits de chacune des n sous-unitÃ©s mÃ©moires. - Le second bus, constituÃ© de la sortie de chacun des ports de sorties d'adresses de contenu mÃ©moire de v bits et de leurs signaux de sortie binaire de validation de contenu respectif prÃ©sent dans l'ensemble des n 30 sous-unitÃ©s mÃ©moires, est introduit dans une unitÃ© de sÃ©lection du maximum de vraisemblance des valeurs d'entrÃ©es qui fournit en sortie la valeur sÃ©lectionnÃ©e la plus reprÃ©sentÃ©e. Cette valeur du maximum de 3065826 8 vraisemblance est introduite dans le port d'adresses en mode entrÃ©e de v bits de la sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits. par validation d'un signal entrÃ©e binaire de correction en mode lecture, l'on transmette les informations de la sortie de l'unitÃ© de valeur du maximum de 5 vraisemblance vers le premier bus prÃ©cÃ©demment dÃ©crit programmÃ©e en mode Ã©criture, la valeur du compteur binaire de v bits soit incrÃ©mentÃ©e d'une unitÃ© en dÃ©but du cycle d'Ã©criture afin de fournir une valeur correspondante Ã la nouvelle adresse sur un bus reliÃ© Ã tous les ports d'adresses en mode entrÃ©e de v bits de chaque sous-unitÃ© MÃ©moire Associative 10 regroupÃ©es en deux ensembles, le premier intÃ©grant n mÃ©moires associatives comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits. le regroupement de ces deux ensembles de sous-unitÃ©s mÃ©moires incluant le compteur binaire de v bits, l'unitÃ© de calcul du maximum de vraisemblance, 15 l'unitÃ© d'initialisation, et les divers Ã©lÃ©ments logiques de contrÃ´le constitue l'unitÃ© de base de la MÃ©morisation Associative. en mode lecture, l'on associe l'unitÃ© MÃ©morisation Associative Ã un message (MEin_i) constituÃ© de n sous-messages(RSin_1 Ã RSin_n) indÃ©pendant de w bits en entrÃ©e Ã un label (Loutj) de v bits en sortie et, vice versa en entrÃ©e un 20 label (Lin_i) de v bits associe en sortie un message (MEout_ j) constituÃ© de n sous-messages (RSout_1 Ã RSout_n) indÃ©pendant de w bits: la prÃ©sence d'un message (MEin_i) mÃªme partiel prÃ©sentÃ© Ã l'unitÃ© de base de la mÃ©moire associative (10) fourni en sortie un label (Lout_i), en retour, ce label devient (Lin_i) et, Ã©tant connectÃ© en entrÃ©e Ã l'unitÃ© MÃ©morisation Associative (10), 25 dÃ©livre le message (MEout_i) complet correspondant prÃ©cÃ©demment appris. on structure chaque sous-messages indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits chacun en p Ã©lÃ©ments de w/p bits avec, pour chaque Ã©lÃ©ment, une dÃ©finition propre Ã son emplacement. chaque Ã©lÃ©ment de w/p bits puisse Ãªtre mis indÃ©pendamment si nÃ©cessaire en 30 mode accÃ¨s par contenu ternaire (TCAM). le sous-message (RSout_x) de w bits sortant de l'unitÃ© MÃ©moire Associative soit connectÃ© Ã l'unitÃ© de registres d'entrÃ©e d'un attracteur dynamique et que 3065826 9 l'unitÃ© de registres rÃ©sultat de ce mÃªme attracteur dynamique dÃ©livre le sous-message entrant (RSin_x) de w bits de l'unitÃ© MÃ©moire Associative. les p Ã©lÃ©ments de w/p bits du sous-message indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits aient, comme dÃ©finition propre Ã son emplacement, 5 une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique ou structurale. l'attracteur dynamique extrait, des flots de donnÃ©es sÃ©quencÃ©s Ã sous sÃ©quences issue d'une unitÃ© de conversion d'un flow de donnÃ©es entrant, une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique, structurale 10 et, rÃ©fÃ©rencÃ©e en position correspondant Ã un sous-message. par recrutement dynamique des attracteurs dynamiques avec inhibition des antÃ©cÃ©dents (chainage Cout de l'attracteur dynamique (80_x) Ã Cin de l'attracteur dynamique (80_x+1). Chaque attracteur dynamique en fonction dÃ©finit un sous-message dont l'ensemble correspond au message transmis. 15 les unitÃ©s de bases MÃ©morisation Associative se connectent en mode pyramidal inverse, un premier niveau de p unitÃ©s de base de MÃ©moire Associative reÃ§oit p messages et gÃ©nÃ¨re p labels qui se connectent chacun en tant que sous-message d'une unitÃ©s de base de MÃ©moire Associative en second niveau en gÃ©nÃ©rant un label rÃ©capitulatif des sous-messages entrant, et en inverse un 20 second label rÃ©capitulatif entrant dans cette unitÃ© de base de mÃ©moire associative gÃ©nÃ¨re un ensemble de sous-messages qui se connectent en tant que label associÃ© Ã un sous-message Ã l'ensemble des p unitÃ©s de base de mÃ©moire associative du premier niveau et dÃ©livre un ensemble de p messages. on associe les sous-unitÃ©s mÃ©moires reprÃ©sentant l'unitÃ© de base MÃ©moire 25 Associative en mode lecture par un bus commun de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e de v bits de chaque sous-unitÃ© MÃ©moire Associative, ce compteur binaire de v bits Ã©tant initialisÃ© Ã zÃ©ro puis incrÃ©mentÃ© d'une unitÃ© par la commande d'un signal binaire de transfert. A chaque sÃ©quence de transfert, la valeur du message 30 (RSout_i) et de son label (tout i) aseociÃ© sont accessibles. on assure le transfert de connaissance des MÃ©morisations Associatives acquises d'une unitÃ© Ã une autre par association d'une premiÃ¨re unitÃ© MÃ©morisation Associative en mode lecture transfert Ã une seconde unitÃ© 3065826 10 MÃ©morisation Associative en mode Ã©criture en connectant, avec respect de la distribution des informations, les ports de sorties de la premiÃ¨re unitÃ© sur les ports entrÃ©s de la seconde unitÃ©, et en synchronisant le cycle de lecture de la premiÃ¨re unitÃ© avec le cycle d'Ã©criture de la seconde unitÃ©. 5 Selon l'invention, le dispositif de MÃ©morisation Associative est composÃ©e d'un assemblage de au moins deux sous-unitÃ©s mÃ©moires similaires Ã accÃ¨s par contenu de 2" mots de w bits pour la premiÃ¨re, avec v compris entre 1 et w et, de 2" mots de v bits pour la seconde. 10 La sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode Ã©criture par, ^ un port d'adresses en mode entrÃ©e de v bits, ^ un port de donnÃ©es en mode entrÃ©e de v ou w bits et ^ un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement et deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire et l'autre 15 d'Ã©criture, ces deux signaux Ã©tant validÃ©s dans cette sÃ©quence d'Ã©criture, permettant, pendant ce cycle, l'enregistrement du mot de v ou w bits prÃ©sent sur le port de donnÃ©es Ã la position mÃ©moire adressÃ©e par le mot de de v bits sur le port d'adresses, et cette mÃªme sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode lecture 20 par, ^ un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement, deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire valide, et l'autre d'Ã©criture non valide dans cette sÃ©quence de lecture et un signal de sortie binaire de validation du contenu prÃ©sent selon l'invention dans ce mode lecture : 25 - soit prÃ©sent un port de sortie des donnÃ©es dÃ©livrant une donnÃ©e de v ou w bits, prÃ©cÃ©demment enregistrÃ©es en mode Ã©criture, sÃ©lectionnÃ©e par un mot de v bits prÃ©sentÃ© sur le port d'adresses entrÃ©e et indÃ©pendamment, - soit prÃ©sent un port de sortie d'adresses de contenu mÃ©moire dÃ©livrant une donnÃ©e de v bits, correspondant Ã l'adresse de la donnÃ©e de v ou w 30 bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e, si prÃ©cÃ©demment cette donnÃ©e de v ou w bits a Ã©tÃ© enregistrÃ©e en mode Ã©criture Ã au moins une position mÃ©moire, en validant le signal binaire de sortie de validation du contenu prÃ©sent. Dans le cas contraire oÃ¹ aucune des 2" positions 3065826 11 mÃ©moires contiennent la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e, la sortie non valide du port de sortie d'adresses de contenu mÃ©moire est signalÃ©e par la non validation du signal binaire de sortie de validation du contenu prÃ©sent. 5 Dans divers modes de mise en oeuvre de l'invention, les moyens suivants pouvant Ãªtre utilisÃ©s seuls ou selon toutes les combinaisons techniquement envisageables, sont employÃ©s : la mÃ©moire associative soit de technologie non volatile. - sÃ©lectionnÃ©e en mode lecture, l'unitÃ© MÃ©morisation Associative soit constituÃ©e d'au moins deux sous-unitÃ©s mÃ©moires similaires associÃ©s par deux bus indÃ©pendant de v bits : - le premier bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire de v bits de la premiÃ¨re mÃ©moire associative et le port d'adresses en mode entrÃ©e de v bits de la seconde mÃ©moire associative et, 15 - le second bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire de v bits de la seconde mÃ©moire associative et le port d'adresses en mode entrÃ©e de v bits de la premiÃ¨re mÃ©moire associative. - sÃ©lectionnÃ©e en mode Ã©criture, l'unitÃ© MÃ©morisation Associative soit constituÃ©e d'au moins deux sous-unitÃ©s mÃ©moires similaires associÃ©s par un bus commun 20 de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e de v bits de chaque mÃ©moire associative. - l'unitÃ© de comptage de 2" valeurs soit Ã mÃ©morisation non volatile. l'unitÃ© MÃ©morisation Associative possÃ¨de une phase d'initialisation, impliquant l'ensemble des sous-unitÃ©s mÃ©moires prÃ©sentes, commandÃ©e par une unitÃ© 25 d'initialisation des sous-unitÃ©s mÃ©moires qui est dÃ©clenchÃ© par la validation des signaux binaires entrÃ©es d'initialisation et de sÃ©lection de l'ensemble des mÃ©moires issu du port de commande. Cet unitÃ© d'initialisation initialise Ã zÃ©ro le compteur binaire de v bits, puis l'incrÃ©mente d'une unitÃ© Ã chaque cycle d'horloge entrÃ©e binaire de sÃ©quencement pendant 2" +1 cycles. Durant ce laps 30 de temps l'unitÃ© d'initialisation valide le mode Ã©criture, (signal entrÃ©e binaire d'Ã©criture validÃ©), et le forÃ§age Ã zÃ©ro du port entrÃ©e des donnÃ©es de chacune des sous unitÃ©s mÃ©moires. En fin de sÃ©quence, toutes les positions mÃ©moires 3065826 12 de chacune des sous-unitÃ©s mÃ©moires sont initialisÃ©es Ã zÃ©ro ainsi que le compteur binaire de v bits. en dehors de la sÃ©quence d'initialisation, le signal entrÃ©e binaire de sÃ©lection de la mÃ©moire Ã©tant validÃ©, le compteur binaire de v bits soit incrÃ©mentÃ© d'une 5 valeur unitaire en dÃ©but de chaque validation du signal d'Ã©criture mÃ©moire, - le compteur binaire de v bits comporte un signal de limite de comptage en sortie qui devient valide lorsque la valeur binaire du compteur est Ã©gale Ã 2" -.1. programmÃ©e en mode lecture, les sous-unitÃ©s mÃ©moires soient regroupÃ©es en deux ensembles, le premier intÃ©grant n sous-unitÃ©s mÃ©moires comprenant 10 chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits, ces deux ensembles Ã©tant liÃ©s par deux bus antagonistes : - le premier bus, issu du port de sortie d'adresses de contenu mÃ©moire de bits de la sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits, est 15 connectÃ© sur le port d'adresses en mode entrÃ©e de v bits de chacune des n sous-unitÃ©s mÃ©moires. - Le second bus, constituÃ© de la sortie de chacun des ports de sorties d'adresses de contenu mÃ©moire de v bits et de leurs signaux de sortie binaire de validation de contenu respectif prÃ©sent dans l'ensemble des n 20 sous-unitÃ©s mÃ©moires, est introduit dans une unitÃ© de sÃ©lection du maximum de vraisemblance des valeurs d'entrÃ©es qui fournit en sortie la valeur sÃ©lectionnÃ©e la plus reprÃ©sentÃ©e. Cette valeur du maximum de vraisemblance est introduite dans le port d'adresses en mode entrÃ©e) de bits de la sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits. 25 par validation d'un signal entrÃ©e binaire de correction en mode lecture, les informations transmises dans le premier bus prÃ©cÃ©demment dÃ©crit soient issu de la sortie de l'unitÃ© de valeur du maximum de vraisemblance. - programmÃ©e en mode Ã©criture, la valeur du compteur binaire de v bits soit incrÃ©mentÃ©e d'une unitÃ© en dÃ©but du cycle d'Ã©criture afin de fournir une valeur 30 correspondante Ã la nouvelle adresse sur un bus reliÃ© Ã tous les ports d'adresses en mode entrÃ©e de v bits de chaque sous-unitÃ© MÃ©moire Associative regroupÃ©es en deux ensembles, le premier intÃ©grant n mÃ©moires associatives 3065826 13 comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative comprenant 2" mots de v bits. - le regroupement de ces deux ensembles de sous-unitÃ©s mÃ©moires incluant le compteur binaire de v bits, l'unitÃ© de calcul du maximum de vraisemblance, 5 l'unitÃ© d'initialisation, et les divers Ã©lÃ©ments logiques de contrÃ´le constitue l'unitÃ© de base de la MÃ©morisation Associative. en mode lecture, l'unitÃ© MÃ©morisation Associative associe un message (MEin_i) constituÃ© de n sous-messages (RSin_1 Ã RSin_n) indÃ©pendant de w bits en entrÃ©e Ã un label (Lout_ j) de v bits en sortie et, vice versa en entrÃ©e un label 10 (Lin_i) de v bits associe en sortie un message (MEoutj) constituÃ© de n sous- messages (RSout_1 Ã RSout_n) indÃ©pendant de w bits: la prÃ©sence d'un message (MEin_i) mÃªme partiel prÃ©sentÃ© Ã l'unitÃ© de base de la mÃ©moire associative (10) fourni en sortie un label (Lout_i), en retour, ce label devient (Lin_i) et, Ã©tant connectÃ© en entrÃ©e Ã l'unitÃ© MÃ©morisation Associative (10), 15 dÃ©livre le message (MEout_i) complet correspondant prÃ©cÃ©demment appris. - chaque sous-messages indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits soit structurÃ© chacun en p Ã©lÃ©ments de w/p bits avec, pour chaque Ã©lÃ©ment, une dÃ©finition propre Ã son emplacement. chaque Ã©lÃ©ment de w/p bits puisse Ãªtre mis indÃ©pendamment si nÃ©cessaire en 20 mode accÃ¨s par contenu ternaire (TCAM). - le sous-message (RSout_x) de w bits sortant de l'unitÃ© MÃ©moire Associative soit connectÃ© Ã l'unitÃ© de registres d'entrÃ©e d'un attracteur dynamique et que l'unitÃ© de registres rÃ©sultat de ce mÃªme attracteur dynamique dÃ©livre le sous-message entrant (RSin_x) de w bits de l'unitÃ© MÃ©moire Associative. 25 - les p Ã©lÃ©ments de w/p bits du sous-message indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits aient, comme dÃ©finition propre Ã son emplacement, une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique ou structurale. - l'attracteur dynamique extrait, des flots de donnÃ©es sÃ©quencÃ©s Ã sous 30 sÃ©quences issue d'une unitÃ© de conversion d'un flow de donnÃ©es entrant, une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique, structurale et, rÃ©fÃ©rencÃ©e en position correspondant Ã un sous-message. 3065826 14 - par recrutement dynamique des attracteurs dynamiques avec inhibition des antÃ©cÃ©dents (chainage Cout de l'attracteur dynamique Ã Cin de l'attracteur dynamique. Chaque attracteur dynamique en fonction dÃ©finit un sous-message (RSinx) dont l'ensemble correspond au message (MEin) transmis 5 les unitÃ©s de bases MÃ©morisation Associative se connectent en mode pyramidal inverse, un premier niveau de p unitÃ©s de base de MÃ©moire Associative reÃ§oit p messages et gÃ©nÃ¨re p labels qui se connectent chacun en tant que sous-message d'une unitÃ©s de base de MÃ©moire Associative en second niveau en gÃ©nÃ©rant un label rÃ©capitulatif des sous-messages entrant, et en inverse un 10 second label rÃ©capitulatif entrant dans cette unitÃ© de base de mÃ©moire associative gÃ©nÃ¨re un ensemble de sous-messages qui se connectent en tant que label associÃ© Ã un sous-message Ã l'ensemble des p unitÃ©s de base de mÃ©moire associative du premier niveau et dÃ©livre un ensemble de p messages. - l'on associe les sous-unitÃ©s mÃ©moires reprÃ©sentant l'unitÃ© de base MÃ©moire 15 Associative en mode lecture par un bus commun de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e de bits de chaque sous-unitÃ© MÃ©moire Associative, ce compteur binaire de v bits Ã©tant initialisÃ© Ã zÃ©ro puis incrÃ©mentÃ© d'une unitÃ© par la commande d'un signal binaire T de transfert. A chaque sÃ©quence de transfert, la valeur du message et 20 de son label associÃ© sont accessibles. le transfert de connaissance des MÃ©morisations Associatives acquises d'une unitÃ© Ã une autre est fait par association d'une premiÃ¨re unitÃ© MÃ©morisation Associative en mode lecture transfert Ã une seconde unitÃ© MÃ©morisation Associative en mode Ã©criture en connectant, avec respect de la distribution des 25 informations, les ports de sorties de la premiÃ¨re unitÃ© sur les ports entrÃ©s de la seconde unitÃ©, et en synchronisant le cycle de lecture de la premiÃ¨re unitÃ© avec le cycle d'Ã©criture de la seconde unitÃ©. L'invention concerne Ã©galement les applications suivantes du procÃ©dÃ© et du dispositif prÃ©cÃ©dent suivant toutes leurs variantes possibles : 30 - cette unitÃ© de base de la mÃ©moire associative soit intÃ©grÃ© en un composant Ã©lectronique. cette unitÃ© de base de la mÃ©moire associative soit empilÃ©e sur une puce Ã©lectronique. 3065826 15 Description de l'invention La prÃ©sente invention va maintenant Ãªtre exemplifiÃ©e dans la description qui suit, sans pour autant en Ãªtre limitÃ©e, et en relation avec les figures suivantes : 5 la figure 1 reprÃ©sente, dans sa gÃ©nÃ©ralitÃ©, un dispositif selon l'invention dÃ©crivant la sous-unitÃ© MÃ©moire Associative (1_1), la figure 2 une illustration du mode Ã©criture de l'unitÃ© MÃ©moire Associative (10) intÃ©grant plusieurs sous-unitÃ©s MÃ©moire Associative (1_i) de la figure 1, la figure 3, un exemple de groupement de deux sous-unitÃ©s MÃ©moire Associative 10 en mode lecture selon l'invention, la figure 4, une illustration du mode de fonctionnement de la figure 3 Ã©tendu Ã plus de deux sous-unitÃ©s et intÃ©grant une unitÃ© de calcul de maximum de vraisemblance et un mode de fonctionnement bouclÃ©, (Cor)=1, la figure 5, un exemple de l'unitÃ© de MÃ©moire Associative en mode initialisation 15 selon l'invention, la figure 6, une illustration du mode de fonctionnement de l'unitÃ© de MÃ©moire Associative (10) en mode transfert de connaissance, la figure 7, un exemple de transfert de connaissance entre deux unitÃ©s de MÃ©moire Associative (10_1) et (10_2), 20 la figure 8, une illustration du mode de correction du message d'entrÃ©e par maximum de vraisemblance, la figure 9, une illustration de l'unitÃ© de MÃ©moire Associative (10) dans son ensemble, la figure 10, un exemple d'utilisation de la MÃ©moire Associative (10) en 25 combinaison d'unitÃ©s attracteurs dynamiques (80_i), la figure 11, une illustration de la fonction de transfert de l'unitÃ© de traduction (70), la figure 12, une illustration de l'organisation des calculs d'histogrammes bilinÃ©aires de l'unitÃ© attracteur dynamique (80_i), la figure 13, un exemple d'assemblage en mode pyramidal de trois unitÃ©s 30 MÃ©moire Associative (10_1) Ã (10_3) crÃ©ant l'unitÃ© de base gÃ©nÃ©rateur universel de graphe hiÃ©rarchique (60), la figure 14, une illustration du mode de composition d'un graphe gÃ©nÃ©rant un label Ã partir des traitements des messages mÃ©morisÃ©s, 3065826 16 La figure 15, un exemple d'utilisation d'une unitÃ© de MÃ©moire Associative (10) commandant la rÃ©ponse Ã un stimulus, la figure 16, un mode d'intÃ©gration de l'unitÃ© de MÃ©moire Associative (10) en un composant Ã©lectronique gÃ©nÃ©rique, 5 la figure 17, un mode d'intÃ©gration de l'unitÃ© de MÃ©moire Associative (10) sur un wafer. Description dÃ©taillÃ©e de l'invention La figure 1 reprÃ©sente l'Ã©lÃ©ment de base de l'unitÃ© MÃ©morisation Associative (10) : 10 la sous-unitÃ© mÃ©moire (1_1) d'un ensemble de n sous-unitÃ©s mÃ©moires TCAM ou CAM indÃ©pendantes notÃ©e de (1_1) Ã (1_n), i Ã©tant le numÃ©ro de l'unitÃ© (1_i). Ces sous-unitÃ©s mÃ©moires sont du type STT-MRAM (spin transfert torque magnetic random access memoiy), ferroRAM ou NRAM. Le comportement est celui d'une mÃ©moire RAM et CAM par l'intÃ©gration de la fonction de comparaison logique au 15 sein de chaque cellule mÃ©moire Ã©lÃ©mentaire, le doublement de la jonction spintronique permet un troisiÃ¨me Ã©tat de correspondance appelÃ© "X", pour former une mÃ©moire TCAM. Chaque sous-unitÃ© mÃ©moire (1_i) de 2" mots de w bits se compose : - d'un port d'entrÃ©e (in) de w bits, 20 - d'un port de sortie (out) de w bits, - d'un port d'entrÃ©e d'adresses (Adr) de v bits, - d'un port de sortie (Cadr) de v bits associÃ© Ã un signal de sortie binaire de validation de comparaison (M), - d'un port de commande composÃ© des signaux entrÃ©s binaires de 25 commandes (En) et (Wr) et d'un signal d'entrÃ©e binaire horloge (Ck) de sÃ©quencement. Pour chacune des sous-unitÃ©s mÃ©moire (1_i), existe trois Ã©tats possibles suivant le niveau des signaux, issu du bus de commande, (En) et (Wr), sÃ©quencÃ©s par un signal d'horloge (Ck) prÃ©sent respectivement sur le port de commande en position 30 (En), (Wr), et (Ck) : i) Les signaux (En) et (Wr) sont inactifs. La sous-unitÃ© mÃ©moire (1_i) est figÃ©e, sa consommation est quasi nulle. 3065826 17 ii) Le signal (En) actif et le signal (Wr) inactif dÃ©clenchent le mode lecture CAM pour le message (RSin_i) de w bits prÃ©sent sur son entrÃ©e (in) qui est comparÃ© au contenu de toutes les adresses mÃ©moires de la sous-unitÃ© mÃ©moire (1_i) afin de sortir l'adresse (L_i) de v bits contenant le message 5 (RSin_i), dans la sous-unitÃ© mÃ©moire (1_i) sur le port (Cadr) si prÃ©sent en validant un signal (M), et en invalidant ce signal (M) dans le cas contraire. De mÃªme, le signal (En) actif et le signal (Wr) inactif dÃ©clenche le mode lecture RAM pour une donnÃ©e (Cpt) de v bits positionnÃ©e en entrÃ©e sur le port d'adresse (Adr) qui valide une position mÃ©moire dont son contenu (RSout_i) 10 de w bits est transmis sur le port de sortie (out). iii) Les signaux (En) et (Wr) actifs dÃ©clenchent le mode Ã©criture RAM pour le sous-message (RSin_i) prÃ©sent sur le port entrÃ© (In) qui est mÃ©morisÃ© Ã l'adresse mÃ©moire (Cpt) ) prÃ©sente sur le port d'entrÃ© (Adr). La figure 2 dÃ©taille le mode Ã©criture de l'unitÃ© MÃ©moire Associative (10) consistant 15 Ã mÃ©moriser un message (MEin_i), composÃ© de n sous-messages (RSin_1) Ã (RSin_n), et un label (Lin_i) Ã une adresse mÃ©moire commune ayant la valeur i Ã©gale Ã (Cpt[v-1 :0]) dÃ©livrÃ©e par l'unitÃ© de comptage de 2" valeurs (3) Ã mÃ©morisation non volatile, incrÃ©mentÃ© d'une valeur unitaire Ã chaque action de mÃ©morisation. 20 Cette unitÃ© MÃ©moire Associative (10) comporte, une unitÃ© de comptage de 2" valeurs (3) dÃ©livrant la valeur i, et deux ensembles de sous-unitÃ©s mÃ©moire similaires dont une sous-unitÃ© mÃ©moire (1_1) est dÃ©crite en figure 1. Le premier ensemble se compose de n sous-unitÃ©s mÃ©moire, composÃ©e chacune de 2w mots de w bits, notÃ©es de (1_1) Ã (1_n), et recevant chacune sur leur port d'entrÃ© (In) 25 respectivement le sous-message (RSin_1) pour la sous-unitÃ© mÃ©moire (1_1) jusqu'au sous-message (RSin_n) pour la sous-unitÃ© mÃ©moire (1_n). Le second ensemble se compose d'une sous-unitÃ© mÃ©moire de 2" mots de v bits (2) recevant sur le port d'entrÃ© (In) le label (Lin_i). Le mode Ã©criture de l'unitÃ© MÃ©moire Associative (10) est activÃ© par la validation des 30 signaux binaire (En) et (Wr) positionnÃ©s sur le port de commande de chacune des sous-unitÃ©s mÃ©moires (1_1) Ã (1_n) et (2). La validation du signal binaire (Wr) incrÃ©mente d'une unitÃ© l'unitÃ© de comptage de 2" valeurs (3), la commande d'initialisation (R) de cette unitÃ© de comptage (3) est maintenue Ã zÃ©ro durant tout 3065826 18 le processus du mode Ã©criture de l'unitÃ© MÃ©moire Associative (10) par l'entrÃ©e binaire externe (Rst)=0. Cette nouvelle valeur i de compteur (3) Ã©gale Ã (Cpt[v1 :0]) est prÃ©sentÃ© au port entrÃ© adresse (In) de chaque sous-unitÃ© mÃ©moire sans exception. Le signal d'horloge (Ck) de sÃ©quencement, prÃ©sentÃ© sur chaque sous- 5 unitÃ© mÃ©moire, valide la mÃ©morisation gÃ©nÃ©rale de toutes les sous-unitÃ©s mÃ©moire prÃ©sente dans cette unitÃ© MÃ©moire Associative (10). Le nombre d'opÃ©rations de mÃ©morisation de cette unitÃ© MÃ©moire Associative (10) est limitÃ© par la valeur maximale 2" -1 de l'unitÃ© de comptage (3) qui dÃ©livre pour cette valeur un signal binaire de limite (F). 10 La figure 3 dÃ©taille le mode lecture de l'unitÃ© MÃ©moire Associative (10) dans sa mise en oeuvre la plus simple oÃ¹ chaque ensemble n'est constituÃ© que d'une sous-unitÃ© mÃ©moire. Le mode lecture de l'unitÃ© MÃ©moire Associative (10) est activÃ© par la validation du signal binaire (En) et l'annulation du signal (Wr), tous deux positionnÃ©s sur le port 15 de commande de chacune des sous-unitÃ©s mÃ©moires (1_1) et (2) Le message (MEin_i) correspond au sous-message (RSin_1) prÃ©sentÃ© sur le port entrÃ© (In) de la sous-unitÃ© mÃ©moire (1_1). La position i de la sous-unitÃ© mÃ©moire (1_1) contenant la valeur (RSin_1) est dÃ©livrÃ©e sur son port de sortie (Cadr) de bits et prÃ©sentÃ© sur le port entrÃ©e (Adr) de la sous-unitÃ© mÃ©moire (2). Le contenu 20 (Lout_i) de la sous-unitÃ© mÃ©moire (2) en position i est dÃ©livrÃ© sur son port de sortie (Out). Le label (Lin_j) prÃ©sentÃ© sur le port entrÃ©e (In) de la sous-unitÃ© mÃ©moire (2) dÃ©livre la valeur j de la position contenant la valeur (Lin_j) sur son port de sortie (Cadr) de v bits qui est prÃ©sentÃ© sur le port entrÃ©e (Adr) de la sous-unitÃ© mÃ©moire (1_1). Le 25 contenu (RSoutj) de la sous-unitÃ© mÃ©moire (1_1) en position j est dÃ©livrÃ© sur son port de sortie (Out). Ce sous-message (RSoutj) correspond au message MEout_j. Ce mode lecture de l'unitÃ© MÃ©moire Associative (10) montre l'association du message (MEin_i) au label (Lout_i) et inversement du label (Lin_ j) au message (MEout_j). 30 La figure 4 est une extension du mode lecture de l'unitÃ© MÃ©moire Associative (10), dÃ©crit dans la figure 3, dans sa mise en oeuvre gÃ©nÃ©rique oÃ¹ le message (MEin_i) est constituÃ© de n sous-messages, (RSin_1) Ã (RSin_n). Le premier ensemble se compose de n sous-unitÃ©s mÃ©moires, composÃ©e chacune de 2w mots de w bits, 3065826 19 notÃ©es de (1_1) Ã (1_n), et recevant chacune sur leur port d'entrÃ©e (In) respectivement le sous-message (RSin_1) pour la sous-unitÃ© mÃ©moire (1_1) jusqu'au sous-message (RSin_n) pour la sous-unitÃ© mÃ©moire (1_n). Le second ensemble se compose d'une sous-unitÃ© mÃ©moire de 2" mots de v bits (2) recevant 5 sur le port d'entrÃ©e (In) le label (Lin j). Dans le sens label vers message, le procÃ©dÃ© est identique Ã celui dÃ©crit Ã la figure 3. La prÃ©sentation de (Linj) sur le port entrÃ©e (In) de la sous-unitÃ© mÃ©moire (2) entraine la dÃ©livrance de la valeur j sur son port de sortie (Cadr), cette valeur j est transmise au bus AB au travers d'une unitÃ© de choix de valeur de lien (5) et est 10 prÃ©sentÃ©e Ã toutes les sous-unitÃ©s mÃ©moire (1_1) Ã (1_n) qui dÃ©livre chacune sur son port de sortie (Out) le sous-message respectivement (RSout_1) Ã (RSout_n) qui, ensemble, forme le message (MEout_ j). Dans le sens inverse, message vers label, les sous-messages (RSin_1) Ã (RSin_n), correspondant au message (MEin_i), sont prÃ©sentÃ©s respectivement sur 15 le port entrÃ©e (In) de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) qui dÃ©livrent chacune une valeur i, ou autre k sur leur port de sortie (Cadr) respectif en association Ã un signal binaire de validation dÃ©bitÃ© par la sortie (M) de la mÃªme sous-unitÃ© mÃ©moire. Dans le cas oÃ¹ le sous-message prÃ©sentÃ© est absent de la sous-unitÃ© mÃ©moire, celle-ci dÃ©livre sur sa sortie (M) un signal binaire de non 20 validation, la valeur prÃ©sente sur son port de sortie (Cadr) est alors ignorÃ©e. Une unitÃ© de calcul de maximum de vraisemblance (4) est introduite dans l'unitÃ© MÃ©morisation Associative (10) afin de sÃ©lectionner la valeur i, k ou autre la plus reprÃ©sentÃ©e. Cette unitÃ© (4) reÃ§oit du port de sortie (Cadr) de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) une valeur i, ou autre k respectivement sur un port entrÃ© 25 (L_i) Ã (L_n) avec leur signal binaire respectif de validation sur l'entrÃ© respectivement (V_1) Ã (V_n). Le sÃ©quencement interne est assurÃ© par un signal horloge (CK) introduit dans l'unitÃ© (4). Le choix du maximum de vraisemblance est positionnÃ© sur le port de sortie (L_i), un bus de v bits transmet cette valeur au port entrÃ©e (Adr) de la sous-unitÃ© mÃ©moire (2) qui dÃ©livre sur son port de sortie (Out) la 30 valeur du label (Lout_i). Une unitÃ© de choix de valeur de lien (5) de v bits commandÃ© par un signal binaire (Cor) permet d'avoir deux modes de fonctionnement. La valeur binaire (Cor) est invalide, la description de fonctionnement correspond Ã ce qui vient d'Ãªtre dÃ©crit. La 3065826 20 validation du signal binaire (Cor) commute le bus (AB) du port de sortie (Cadr) de la sous-unitÃ© mÃ©moire (2) vers le port de sortie (L_i) de l'unitÃ© (4), ce qui permet la sortie d'un message (MEout_i) corrigÃ© du message entrant (MEin_i) dÃ©formÃ© ou partiel. Ce mode de rÃ©alisation offre un pouvoir de remÃ©moration Ã©levÃ©, notamment 5 en prÃ©sence d'effacement ou de messages partiels. La figure 5 dÃ©taille la sÃ©quence d'initialisation de l'unitÃ© MÃ©moire Associative (10), indispensable Ã son bon fonctionnement. Le but Ã©tant d'Ã©crire la valeur zÃ©ro dans toutes les cellules mÃ©moires des sous-unitÃ©s mÃ©moire prÃ©sentes dans l'unitÃ© MÃ©moire Associative (10) et d'initialiser le compteur (4) Ã zÃ©ro, afin de pouvoir 10 ensuite, en mode lecture, mÃ©moriser 2" -2 valeurs des messages exceptÃ© zÃ©ro. A la description prÃ©cÃ©dente de l'unitÃ© MÃ©moire Associative (10), sont ajoutÃ©s, une unitÃ© de sÃ©quencement de l'initialisation (6) commandÃ©e extÃ©rieurement par un signal binaire (Ini), des sous-unitÃ©s mÃ©moires ainsi que des Ã©lÃ©ments logiques (7), (8), (9), (11_1) Ã (11_n) et (14) permettant le fonctionnement d'initialisation. 15 Pendant tout le cycle d'initialisation, le signal binaire (tWr) dÃ©livrÃ© par l'unitÃ© de sÃ©quencement de l'initialisation (6) est maintenu valide. Le port entrÃ©e (In) de chacune des sous-unitÃ©s mÃ©moires (1_1) Ã (1_n) et (2) prÃ©sentes dans l'unitÃ© MÃ©moire Associative (10) reÃ§oit, respectivement, une donnÃ©e Ã©gale Ã zÃ©ro dÃ©livrÃ©e par une unitÃ© logique Ã w portes (11_1) Ã (11_n) contrÃ´lant, respectivement 20 chacune, les sous-messages (RSin_1) Ã (RSin_n) et, une unitÃ© logique Ã v portes (9) contrÃ´lant le label (Lin_i). Chaque porte logique est une fonction boolÃ©enne Â« ET Â» Ã deux entrÃ©es dont une est inversÃ©e et reÃ§oit le signal binaire (tWr) et la seconde reÃ§oit un des bits des sous-messages ou label. Chaque bit des sous-messages ou label est, transmis lorsque le signal binaire (tWr) est non valide ou, 25 forcÃ© Ã zÃ©ro lorsque le signal binaire (tWr) est valide. L'unitÃ© de sÃ©quencement de l'initialisation (6) est sÃ©quencÃ©e par le signal horloge (CK), cette unitÃ© (6) reÃ§oit le signal binaire de commande (Ini) ainsi qu'un signal binaire (F) signalant la limite de comptage du compteur (3) et sort un signal binaire (R) de commande de mise Ã zÃ©ro du compteur (3) et un signal binaire d'initialisation 30 (tWr), valide pendant toute la durÃ©e de l'initialisation. La validation du signal d'initialisation (lni) pendant au moins le temps d'un cycle d'horloge (Ck) valide la fonction d'initialisation de l'unitÃ© MÃ©moire Associative (10). Cette initialisation dÃ©bute par la validation pendant un premier cycle d'horloge (Ck) 3065826 21 du signal binaire (R) de commande de mise Ã zÃ©ro du compteur (3). Cette sortie (R) est connectÃ©e Ã l'entrÃ©e (R) de ce compteur (3) au travers d'une porte logique Â« OU Â» (8) Ã deux entrÃ©es, la seconde entrÃ©e recevant le signal binaire externe (Rst) de remise Ã zÃ©ro de ce compteur (3) dont sa valeur est maintenue Ã zÃ©ro 5 durant le temps de cette initialisation. Ce compteur (3) initialise la valeur de sortie (Cpt) Ã©gale Ã zÃ©ro dÃ¨s le dÃ©but du cycle d'initialisation. Le second cycle d'horloge (Ck) valide en sortie le signal binaire d'initialisation (tWr). Ce signal binaire d'initialisation (tWr) est connectÃ© aux unitÃ©s logiques (7), (14), (11_1) Ã (11_n) et (9). L'unitÃ© logique (7) est une porte logique Â« OU Â» Ã deux entrÃ©es validant le 10 signal binaire (Wr) interne au circuit issu soit de la sortie (tWr) de l'unitÃ© (6) soit de l'entrÃ©e externe (Wr) dont sa valeur est maintenue Ã zÃ©ro durant le temps de cette initialisation. L'unitÃ© logique (14) est un multiplexeur Ã deux entrÃ©es dont la sortie, connectÃ©e Ã l'entrÃ©e de l'unitÃ© de comptage (3) permet son incrÃ©ment, correspond au signal binaire d'horloge (Ck) lorsque l'entrÃ©e de sÃ©lection (S) de cette mÃªme 15 unitÃ© (14) reÃ§oit le signal (tWr) valide et au signal binaire interne (Wr), issu de l'unitÃ© (7), lorsque l'entrÃ©e de sÃ©lection (S) de cette mÃªme unitÃ© (14) reÃ§oit le signal (tWr) invalide. Chaque cycle d'horloge (Ck) incrÃ©mente d'une unitÃ© chaque adresse mÃ©moire en Ã©crivant la valeur zÃ©ro en mÃ©moire jusqu'Ã la valeur finale, Ã©gale Ã 2" 1, de l'unitÃ© de comptage (3) qui dÃ©livre Ã ce moment un signal de sortie (F) 20 connectÃ© Ã l'unitÃ© d'initialisation (6) qui au cycle suivant incrÃ©mente une derniÃ¨re fois l'unitÃ© de comptage (3) qui repasse Ã zÃ©ro et dÃ©-valide son signal de sortie (tWr), ce qui finalise le cycle d'initialisation. La figure 6 dÃ©taille le mode transfert de connaissance d'une unitÃ© MÃ©moire Associative (10) vers une unitÃ© externe. L'organisation interne de cette unitÃ© (10) 25 correspond Ã la description faite de la figure 2 Ã l'exception du signal binaire (Wr) qui est non valide et d'un signal binaire de transfert externe (IncT) qui est connectÃ© sur l'entrÃ©e d'incrÃ©ment de l'unitÃ© de comptage (3). Toutes les sous-unitÃ©s mÃ©moires (1_1) Ã (1_n) et (2) sont en mode lecture et valide respectivement sur leurs port de sortie (Out) les sous-messages (RSout_1) Ã (RSout_n) correspondant 30 au message (MEout_i) et (Lout_i) accessible Ã l'extÃ©rieur de l'unitÃ© MÃ©moire Associative (10). Le mode transfert dÃ©bute par une initialisation Ã zÃ©ro de l'unitÃ© de comptage (3) en validant le signal binaire externe (Rst) pendant un court instant, puis le signal externe de transfert (IncT) est activÃ© et dÃ©sactivÃ© par cycle de lecture. 3065826 22 A chaque cycle de lecture, un couple de message (MEout_i) et label (Lout_i) est lu, un couple valant zÃ©ro indique la fin du transfert. La figure 7 reprÃ©sente un transfert de connaissance de p informations d'une unitÃ© MÃ©moire Associative (10_1) dans une unitÃ© MÃ©moire Associative (10_2) possÃ©dant 5 une connaissance de q informations. Les sorties sous-messages (RSout_a1) Ã (RSout_a4) et label (Lout_a) de la premiÃ¨re unitÃ© MÃ©moire Associative (10_1) sont connectÃ©es respectivement sur les entrÃ©es sous-messages (RSin_a1) Ã (RSin_a4) et label (Lin_a) de la seconde unitÃ© MÃ©moire Associative (10_2). Le signal (En) valide (=1) connectÃ© sur les deux unitÃ©s (10_1) et (10_2) valide ces unitÃ©s. Une 10 courte validation de signal binaire (Rst) sur l'unitÃ© (10_1) initialise Ã zÃ©ro le compteur (3) interne. Le signal de transfert (IncT) est connectÃ© sur l'entrÃ©e (T) de la premiÃ¨re unitÃ© (10_1) et sur l'entrÃ©e (Wr) de la seconde unitÃ© (10_2). Les entrÃ©es (Wr) de la premiÃ¨re unitÃ© (10_1) et (R), (T) de la seconde unitÃ© (10_2) sont mises Ã zÃ©ro (non valide). L'horloge de sÃ©quencement (Ck) est connectÃ©e sur les deux 15 unitÃ©s (10_1) et (10_2). Puis le signal externe de transfert (IncT) est activÃ© et dÃ©sactivÃ© par cycle de lecture. A chaque cycle de lecture, un couple de message (MEouti) et label (Lout_i) est transfÃ©rÃ© de l'unitÃ© (10_1) Ã (10_2), un couple valant zÃ©ro indique la fin du transfert. En fin de transfert, l'unitÃ© MÃ©moire Associative (10_2) contient p+q couples message-label. Chaque unitÃ© (10_1) et (10_2) 20 redevient libre de mÃ©moriser un nouveau couple, le premier aprÃ¨s les p enregistrÃ©s, le second aprÃ¨s les p+q enregistrÃ©s. La figure 8 dÃ©taille l'organisation du message prÃ©sentÃ©, son calcul du maximum de vraisemblance et le choix du label associÃ© en sortie Pour plus de clartÃ©, le signal binaire de validation (En), valide, et son horloge de sÃ©quencement (Ck) de l'unitÃ© 25 MÃ©moire Associative (10) sont non reprÃ©sentÃ©s. Un message entrant (MEin_x) se compose de un Ã plusieurs (n) sous-messages chacun de dimension (w) bits dÃ©nommÃ©s pour ce message entrant (RSin_1) Ã (RSin_n). Ces sous-messages n'Ã©tant pas forcÃ©ment ordonnÃ©s, par exemple le sous-message (RSin_1) peut Ãªtre mis placÃ© en une autre position lors de son 30 apprentissage, une unitÃ© de choix de position (50) va placer en sortie sÃ©quentiellement chacun des sous-messages de 1 Ã n. Lorsque le signal de commande (En) est validÃ©, l'horloge de sÃ©quencement pilote une unitÃ© sÃ©quenceur (51) qui commande une unitÃ© de multiplexeur Ã n entrÃ©es de w bits (52) connectÃ©es 3065826 23 chacune Ã un sous-message entrant (RSin_1) Ã (RSin_n) et sa sortie connectÃ©e Ã toutes les entrÃ©es (In) des sous-unitÃ©s mÃ©moire (1_1) Ã (1_n). Tous les sous-messages ont une organisation en mot de w bits segmentÃ© en q Ã©lÃ©ments de w/q bits (division entiÃ¨re) dÃ©nommÃ© (RSi-1) Ã (RSi-q) correspondant Ã 5 la position des bits [w-1 :a] pour (RSi-1), [a-1 :b] pour (RSi-2) jusqu'Ã [q-1 :0]. Chaque Ã©lÃ©ment de w/q bits correspond Ã une entitÃ© rÃ©fÃ©rencÃ©e. Dans le cas oÃ¹ cet Ã©lÃ©ment est mal rÃ©fÃ©rencÃ© ou absent, par exemple le sous-message (RSi-3) en position [b-1 :c], le mode TCAM (17) permet de positionner cette partie en xxxx, elle sera toujours validÃ©. 10 Chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) vÃ©rifie ainsi la prÃ©sence ou non des sous-messages (RSin_1) Ã (RSin_n). En cas de prÃ©sence, la sous-unitÃ© mÃ©moire positionne sur son port de sortie (Cadr) l'adresse du contenu mÃ©moire et valide son signal binaire (M). L'unitÃ© de calcul de vraisemblance (4) reÃ§oit sur ses entrÃ©es, (L_1) le contenu du port de sortie (Cadr) de la sous-unitÃ© mÃ©moire (1_1) et, (V_1) 15 la sortie binaire (M) de validation de cette mÃªme sous-unitÃ© mÃ©moire. Il en va de mÃªme pour les connexions des autres sous-unitÃ©s mÃ©moire (1_2) Ã (1_n). (MÃªme indice sur les sorties et entrÃ©es prÃ©citÃ©es). Le processus de choix d du maximum de vraisemblance mis en oeuvre dans l'unitÃ© (4) est explicitÃ© par cet exemple : Le message entrÃ©e MEin_x est composÃ© des sous-messages (RSin_1) Ã (RSin_n) 20 qui sont sÃ©quencÃ©s l'un aprÃ¨s l'autre par l'unitÃ© (50). En fin des n sÃ©quences, l'unitÃ© (4) a reÃ§u de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) respectivement les donnÃ©es associÃ©es (V_1), (L_1) Ã (V_n), (L_n), prÃ©sentÃ©es dans le tableau ci-dessous : V1 L1 V2 L_2 V3 L_3 V4 L4 V5 L_5 Vn Ln 1 027 1 124 0 1 124 1 003 0 1 124 0 1 257 1 257 1 542 0 0 0 Durant cette sÃ©quence de dÃ©filement des n sous-messages, la sous-unitÃ© mÃ©moire (1_1) a trouvÃ© trois contenus mÃ©moire prÃ©sent dont leurs adresses 027, 124, et 542 25 ont Ã©tÃ© prÃ©sentÃ©es sur l'entrÃ©e (L_1) et validÃ© par (V_1) de l'unitÃ© (4). La non validation de (V 1) indique la non prise en compte de la donnÃ©e prÃ©sentÃ©e sur 3065826 24 l'entrÃ©e (L_1). De la mÃªme faÃ§on, la sous unitÃ© mÃ©moire (1_2) a trouvÃ© un contenu mÃ©moire prÃ©sent dont son adresse 124 a Ã©tÃ© prÃ©sentÃ©e sur l'entrÃ©e (L_2) et validÃ© par (V_2) de l'unitÃ© (4). Respectivement, la sous unitÃ© mÃ©moire (1_3) n'a rien dÃ©livrÃ©e, la sous unitÃ© mÃ©moire (1_4) a dÃ©livrÃ©e deux donnÃ©es 124 et 257, la sous 5 unitÃ© mÃ©moire (1_5) a dÃ©livrÃ©e deux donnÃ©es 003 et 257, et les sous unitÃ©s mÃ©moire suivantes jusqu'Ã (1_n) n'ont rien dÃ©livrÃ©es. Une sous-unitÃ© (41) de l'unitÃ© (4) comptabilise le nombre de fois que la donnÃ©e entrÃ©e a Ã©tÃ© prÃ©sente, soit dans cet exemple, la donnÃ©e 127 a Ã©tÃ© prÃ©sente une fois, la donnÃ©e 124 trois fois, 542 une fois, 257 deux fois et 003 une fois. La sous-unitÃ© (42) sÃ©lectionne la donnÃ©e la 10 plus reprÃ©sentÃ©e, soit dans cet exemple la donnÃ©e 124 avec un maximum de 3 fois, et la transmet au registre (43) reprÃ©sentant la donnÃ©e positionnÃ©e en port de sortie (Li) de l'unitÃ© (4) en communication avec un bus de v bits, lui-mÃªme connectÃ© aux ports d'entrÃ©e (Adr) de toutes les sous-unitÃ©s mÃ©moires (1_1) Ã (1_n) et (2). Les sous-unitÃ©s mÃ©moires (1_1) Ã (1_n) dÃ©livrent sur leur port de sortie respectif (out) 15 les sous-messages (RSout_1) Ã (RSout_n) reprÃ©sentant le message de sortie (MEout_y) dont tous les Ã©lÃ©ments des sous-messages sont corrigÃ©s (correspondant au paterne appris prÃ©cÃ©demment). Dans le cas oÃ¹ la sous-unitÃ© (41) de l'unitÃ© (4) trouve deux donnÃ©es distinctes en quantitÃ© Ã©quivalente, arbitrairement, c'est la donnÃ©e la plus faible qui est choisi. 20 C'est par exemple la perception visuelle d'une figure indÃ©cidable comme le blivet de Norman Mingo. La figure 9 dÃ©taille le fonctionnement du dispositif unitÃ© MÃ©moire Associative (10) intÃ©grant les diffÃ©rents modes dÃ©crit prÃ©cÃ©demment Ã savoir un mode, passif (arrÃªt des diverses fonctions), lecture en relation avec la figure 4, transfert en relation 25 avec la figure 6, Ã©criture en relation avec la figure 2, et initialisation en relation avec la figure 5. Le tableau ci-dessous donne la correspondance entre la valeur des signaux (En), (Wr) et (T) du bus de commande et le mode fonctionnel sÃ©lectionnÃ© : ModeMus commande En Wre T ArrÃªt 0 X X Lecture 1 0 0 Transfert 1 0 1 Ecriture 1 1 0 Initialisation 1 1 1 3065826 25 Le regroupement des diffÃ©rents modes fonctionnels implique certains amÃ©nagements de l'unitÃ© MÃ©moire Associative (10) prÃ©cÃ©demment dÃ©crite par les figures 1 Ã 6. Le bus Cpt[v-1 ;0] dÃ©livrÃ© par l'unitÃ© de comptage (3) est introduit dans une des 5 deux entrÃ©es de l'unitÃ© multiplexeur (5), la seconde entrÃ©e Ã©tant dÃ©livrÃ©e par la sortie (L_i) de v bits de l'unitÃ© de calcul du maximum de vraisemblance (4). La sÃ©lection (S) de l'unitÃ© (5) est pilotÃ©e par le signal binaire (Wr), la sortie (Y) de cette unitÃ© (5) correspond Ã la valeur de (Cpt) pour le signal binaire (Wr) valide et Ã la valeur de (L_i) dans le cas contraire. La sortie (Y) de cette unitÃ© (5) est connectÃ©e 10 au port entrÃ©e (In) de la sous-unitÃ© mÃ©moire (2) et Ã une des deux entrÃ©es d'un second multiplexeur (12), la seconde entrÃ©e de ce multiplexeur (12) Ã©tant reliÃ© au port de sortie (Cadr) de la sous-unitÃ© mÃ©moire (2). La sÃ©lection (S) de l'unitÃ© (12) est pilotÃ©e par la sortie d'une unitÃ© logique Â« OU Â» (13) Ã deux entrÃ©es recevant les signaux binaire (Wr) et (Cor) respectivement sur chacune de ses entrÃ©es. La sortie 15 (Y) du multiplexeur (12) est connectÃ©e au port entrÃ©e (Adr) de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n). L'unitÃ© logique Â« OU Â» (7), assurant la fonction boolÃ©enne Wr=tWr+Wre, est remplacÃ©e par l'unitÃ© logique Â« OU-ET Â» (7') assurant la fonction boolÃ©enne Wr=tWr+Wre.tWr avec les mÃªmes connexions que pour l'unitÃ© (7). 20 Le signal entrÃ©e (Wr) du multiplexeur (14) est remplacÃ© par la connexion de la sortie de l'unitÃ© logique Â« OU Â» (15) Ã deux entrÃ©es recevant les signaux binaire (Wr) et (T) respectivement sur chacune de ses entrÃ©es. Le signal binaire de commande du mode initialisation (Ini) est gÃ©nÃ©rÃ© par une unitÃ© logique Â« ET Â» (16) Ã deux entrÃ©es recevant les signaux binaires (Wre) et (T) 25 respectivement sur chacune de ses entrÃ©es. La figure 10 illustre un exemple d'utilisation de la MÃ©moire Associative (10) en combinaison d'unitÃ©s attracteurs dynamiques (80_i) et d'une unitÃ© de transfert de traduction (71). Pour plus de clartÃ©, les signaux de sÃ©quencement ont Ã©tÃ© omis. L'unitÃ© de transfert de traduction (71). 30 Des donnÃ©es spatio-temporelles (70) issues d'un Ã©lÃ©ment amont, ici non reprÃ©sentÃ©, sont dÃ©livrÃ©es sur le port entrÃ©e (E, P(i,j)) d'une unitÃ© de transfert de traduction (71) qui dÃ©bite Ã son tour d'une maniÃ¨re synchrone, cadencÃ© par un signal d'horloge (Ck), des reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires rÃ©fÃ©rencÃ©es 3065826 26 en position sur ses ports de sorties G, D, S, et P. Chaque port de sortie G, D, S, et P est connectÃ© indÃ©pendamment et respectivement, sur le bus G (72), le bus D (73), le bus S (74) et le bus P (75) de taille identique de 2z bits. Les n unitÃ©s attracteur dynamique (80_1) Ã (80_n) se connectent Ã ces quatre bus, 5 respectivement sur leur port d'entrÃ©e G, D, S, et P. L'unitÃ© attracteur dynamique (80_1) L'unitÃ© attracteur dynamique (80_1) est reprÃ©sentÃ©e plus en dÃ©tail afin d'en expliciter le fonctionnement, sachant que toutes les unitÃ©s attracteurs dynamiques (80_1) Ã (80_n) sont identiques. Cette unitÃ© attracteur dynamique (80_1) inclut : 10 - quatre unitÃ©s traitement statistique (81_G), (81_D), (81_S), et (81_P) identiques. Chaque unitÃ© traitement statistique (81_x) comporte : o une unitÃ© de calcul histogramme bilinÃ©aire (82), comportant - Une entrÃ©e donnÃ©es (x) correspondant Ã G ou D ou S ou P suivant l'unitÃ© traitement statistique (81_x). 15 ^ Une unitÃ© de registres rÃ©sultats (R). ^ Une entrÃ©e de validation du calcul d'histogramme bilinÃ©aire (V) ^ une unitÃ© de sÃ©quencement, ici non reprÃ©sentÃ©e, dÃ©pendant du mode de fonctionnement, soit par sÃ©quence soit par nombre d'Ã©vÃ¨nements, qui assure, cycliquement en sÃ©quence, la phase 20 d'initialisation, la phase calcul histogramme, la phase mise Ã jour registres (R) et la phase classification automatique. La phase d'initialisation consiste Ã mettre Ã zÃ©ro la mÃ©moire de stockage des calculs d'histogramme et Ã initialiser les divers registres de calcul. Durant la phase calcul histogramme, Ã chaque donnÃ©e (x) prÃ©sentÃ©e 25 correspond un signal d'entrÃ©e (V) qui valide ou non le calcul. En fin de sÃ©quence ou dÃ¨s que la valeur maximale de l'histogramme dÃ©passe un seuil paramÃ©trÃ© extÃ©rieurement, suivant le mode utilisÃ©, les registres (R) sont actualisÃ©s ainsi que les registres de l'unitÃ© de classification automatique (83). Parmi les valeurs calculÃ©es, le nombre de 30 calcul NBPTS, la mÃ©diane Med, la valeur du maximum RMAX, sa position PosRMX ainsi que les bornes de classification A, B, C, et D. o deux unitÃ©s de classification automatique (83) et requÃªte (84) recevant chacun les donnÃ©es 2z bits du port d'entrÃ©e (x) et dÃ©livrant un signal 3065826 27 binaire de classification valide s'il est compris entre ses bornes de classification ; A et B pour les z bits de poids fort et, C et D pour les z bits de poids faible. o une unitÃ© boolÃ©enne de validation de classification (85) reÃ§oit les signaux s binaires de classification des deux unitÃ©s de classification automatique (83) et requÃªte (84). Le ET logique entre ces deux signaux binaires de classification est transmis hors de l'unitÃ© traitement statistique (81_x). - Une unitÃ© boolÃ©enne de classification spatio-temporelle (86) reÃ§oit les signaux binaires de classification des quatre unitÃ©s traitement statistique (81_G), (81_D), 10 (81_S), et (81_P) pour en faire un ET logique qui est transmis Ã l'unitÃ© de validation de calcul d'histogramme (87). - Une unitÃ© de validation de calcul d'histogramme (87) comprend une unitÃ© logique ET Ã deux entrÃ©es dont une inversÃ©s (88) et une unitÃ© logique OU Ã deux entrÃ©es (89). L'unitÃ© logique ET (88) reÃ§oit en direct le signal binaire issu 15 de l'unitÃ© logique ET (86) et en inverse le signal binaire entrÃ©e (Ch) de l'unitÃ© (80_1) et dÃ©livre un signal binaire de validation de calcul d'histogramme sur l'entrÃ©e (V) de chaque unitÃ© traitement statistique (81_G), (81_D), (81_S), et (81_P). L'unitÃ© logique OU (89) reÃ§oit le signal binaire entrÃ©e (Cin) de l'unitÃ© (80_1) et le 20 signal binaire de validation de calcul d'histogramme de l'unitÃ© logique ET (88) et dÃ©livre un signal binaire d'inhibition sur le port de sortie (Cout) de l'unitÃ© (80_1). - Une unitÃ© de registres de sortie (76) comporte les registres (RSi-1) Ã (RSi-q) mis Ã jour Ã chaque dÃ©passement de la valeur NBPTS par rapport Ã un seuil paramÃ©trÃ© extÃ©rieurement. L'ordre des registres (RSi-1) Ã (RSi-p) correspond 25 aux valeurs de mÃ©dianes (Medi, Med2) et Ã la plage de classification (P1, P2) dÃ©fini par l'Ã©cart des bornes de classification B-A et D-C pour chaque unitÃ©s traitement statistique (81_G), (81_D), (81_S), et (81_P). Soit pour (RSi-1) et (RSi-2), respectivement les mÃ©dianes du mode globale (MedGi, MedG2) et leur plages respectives (PG1, PG2), de mÃªme pour le mode dynamique, structurale 30 et leur position (MedP1, MedP2) correspondant au barycentre Ã©nergÃ©tique et PP2) Ã son Ã©tendu. Dans cet exemple l'unitÃ© de registres de sortie (76) comporte les registres (RSi-1) Ã (RSi-8). En gÃ©nÃ©ral un certain nombre de registres (RSi-x) ne sont pas exploitÃ©s car non pertinent. Par exemple la 3065826 28 perception visuelle d'un texte a un mode global uniforme (mÃªme couleurs et non dÃ©placement), seul l'aspect structurant apporte une information pertinente. Des huit registres de dÃ©part, il ne reste que trois : barycentre, dimension et structure. - Une unitÃ© de registres d'entrÃ©e (77) comporte les registres (RSo-1) Ã (RSo-q) 5 reprÃ©sentant la mÃªme organisation que celle de l'unitÃ© de registres de sortie (76). Soit pour (RSo-1) et (RSo-2) respectivement les mÃ©dianes du mode globale (MedG1, MedG2) et leur plages respectives (PG1, PG2), qui sont transformÃ©s en bornes de classification A, B, C, D tel que la borne A soit Ã©gale Ã MedG1 - PG1/2, la borne B Ã MedG2 + PG2/2, de mÃªme pour les bornes C et D dans le mÃªme ordre.. Ces bornes A, B, C, D de classification sont Ã©crites dans l'unitÃ© de classification de requÃªte (84). La mÃªme opÃ©ration est rÃ©pÃ©tÃ©e pour les autres unitÃ©s de classification de requÃªte (84) des unitÃ©s (81_D), (81_S) et (81_P). Pour une information de z bits plus grand que quatre bits, il est prÃ©fÃ©rable d'Ã©tendre la plage de classification en diminuant la borne basse de 15 classification d'une valeur de 1 Ã 2 bits et en augmentant la borne haute de classification d'une valeur de 1 Ã 2 bits afin d'Ã©largir la requÃªte. la MÃ©moire Associative (10) L'unitÃ© MÃ©moire Associative (10), dÃ©crit dans les figures prÃ©cÃ©dentes, dans sa mise en oeuvre gÃ©nÃ©rique a pour interface avec les unitÃ©s attracteurs dynamiques (80_1) 20 Ã (80_n) le message (MEin_i) constituÃ© de n sous-messages (RSin_1) Ã (RSin_n) et le message (MEoutj) constituÃ© de n sous-messages (RSout_1) Ã (RSout_n). Le sous-message (RSin_1) est transmis de l'unitÃ© de registres de sortie (76) de l'unitÃ© attracteur dynamique (80_1) au port d'entrÃ©e (In) de la sous-unitÃ© mÃ©moire (1_1) de l'unitÃ© MÃ©moire Associative (10). De mÃªme, le sous-message (RSin_2) est 25 transmis de l'unitÃ© de registres de sortie (76) de l'unitÃ© attracteur dynamique (80_2) au port d'entrÃ©e (In) de la sous-unitÃ© mÃ©moire (1_2) de l'unitÃ© MÃ©moire Associative (10), et la transmission continue dans le mÃªme ordre jusqu'au rang n. En inverse, le sous-message (RSout_1) est transmis du port de sortie (Out) de la sous-unitÃ© mÃ©moire (1_1) de l'unitÃ© MÃ©moire Associative (10) Ã l'unitÃ© de registres 30 d'entrÃ©e (77) de l'unitÃ© attracteur dynamique (80_1). De mÃªme, le sous-message (RSout_2) est transmis du port de sortie (Out) de la sous-unitÃ© mÃ©moire (1_2) de l'unitÃ© MÃ©moire Associative (10) Ã l'unitÃ© de registres d'entrÃ©e (77) de l'unitÃ© 3065826 29 attracteur dynamique (80_2), et la transmission continue dans le mÃªme ordre jusqu'au rang n. L'unitÃ© MÃ©moire Associative (10) comporte : - un premier ensemble composÃ© de n sous-unitÃ©s mÃ©moires, composÃ©e 5 chacune de 2W mots de w bits, notÃ©es de (1_1) Ã (1_n), et recevant chacune sur leur port d'entrÃ©e (In) respectivement le sous-message (RSin_1) pour la sous-unitÃ© mÃ©moire (1_1) jusqu'au sous-message (RSin_n) pour la sous-unitÃ© mÃ©moire (1_n). - un second ensemble se compose d'une sous-unitÃ© mÃ©moire de 2' mots de v 10 bits (2) recevant sur le port d'entrÃ©e (In) le label (Linj). - une unitÃ© de calcul de maximum de vraisemblance (4) afin de sÃ©lectionner la valeur i, k ou autre la plus reprÃ©sentÃ©e. Cette unitÃ© (4) reÃ§oit du port de sortie (Cadr) de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) une valeur i, ou autre k respectivement sur un port entrÃ© (L_i) Ã (L_n) avec leur signal binaire 15 respectif de validation sur l'entrÃ© respectivement (V_1) Ã (V n). Le sÃ©quencement interne est assurÃ© par un signal horloge (CK) introduit dans l'unitÃ© (4). Le choix du maximum de vraisemblance est positionnÃ© sur le port de sortie (L_i), un bus de v bits transmet cette valeur au port entrÃ©e (Adr) de la sous-unitÃ© mÃ©moire (2) qui dÃ©livre sur son port de sortie (Out) la valeur du 20 label (Louti). Dans le sens label vers message, le procÃ©dÃ© est identique Ã celui dÃ©crit Ã la figure 3. La prÃ©sentation de (Linj) sur le port entrÃ©e (In) de la sous-unitÃ© mÃ©moire (2) entraine la dÃ©livrance de la valeur j sur son port de sortie (Cadr), cette valeur j est transmise au bus AB au travers d'une unitÃ© de choix de valeur de lien (5) et est 25 prÃ©sentÃ©e Ã toutes les sous-unitÃ©s mÃ©moire (1_1) Ã (1_n) qui dÃ©livre chacune sur son port de sortie (Out) le sous-message respectivement (RSout_1) Ã (RSout_n) qui, ensemble, forme le message (MEout_ j). Dans le sens inverse, message vers label, les sous-messages (RSin_1) Ã (RSin_n), correspondant au message (MEin_i), sont prÃ©sentÃ©s respectivement sur 30 le port entrÃ©e (In) de chaque sous-unitÃ© mÃ©moire (1_1) Ã (1_n) qui dÃ©livrent chacune une valeur i, ou autre k sur leur port de sortie (Cadr) respectif en association Ã un signal binaire de validation dÃ©bitÃ© par la sortie (M) de la mÃªme sous-unitÃ© mÃ©moire. Dans le cas oÃ¹ le sous-message prÃ©sentÃ© est absent de la 3065826 30 sous-unitÃ© mÃ©moire, celle-ci dÃ©livre sur sa sortie (M) un signal binaire de non validation, la valeur prÃ©sente sur son port de sortie (Cadr) est alors ignorÃ©e. DÃ©composition des messages. Chaque message reÃ§u (MEin) de n.w bits est composÃ© de n sous-messages 5 (RSin_x) de w bits, x variant de 1 Ã n. De mÃªme chaque message (MEout) de n.w bits dÃ©livrÃ© par la MÃ©moire Associative est composÃ© de n sous-messages (RSout_x) de w bits, x variant de 1 Ã n. Chaque sous-message est dÃ©coupÃ© en q Ã©lÃ©ments (RSix) entrant ou (RSo_x) sortant de z bits correspondant Ã w/q bits dont le rang de l'Ã©lÃ©ment correspond Ã 10 une notion de position, dimensionnement et de caractÃ©risation. - La position est dÃ©finie par son rÃ©fÃ©rentiel (Ref), variant gÃ©nÃ©ralement de un Ã trois, souvant Ã©gale Ã deux pour un couple d'Ã©lÃ©ments par exemple x et y reprÃ©sentant une relation entre deux distances dans le rÃ©fÃ©rentiel (Ref), ou t et f reprÃ©sentant une relation entre temps et frÃ©quence dans le rÃ©fÃ©rentiel (Ref). 15 D'une maniÃ¨re gÃ©nÃ©rale, c'est la position du barycentre du nuage de donnÃ©es reprÃ©sentant la caractÃ©risation ci-dessus dÃ©fini par ses Ã©lÃ©ments du sous-message. - Le dimensionnement caractÃ©rise l'Ã©tendu du nuage de donnÃ©es, gÃ©nÃ©ralement sa dimension, donc un Ã©lÃ©ment (RSi_x), dans chacun des axes du rÃ©fÃ©rentiel 20 (Ref). - La caractÃ©risation est gÃ©nÃ©ralement une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type - - Globale, par exemple non limitatif, une couleur est dÃ©finie par une tente et une saturation, une voie d'enfant est dÃ©fini par un fondamental, etc. 25 - Dynamique, par exemple non limitatif, un mouvement est dÃ©fini par sa vitesse et son orientation, c'est aussi la prosodie d'une voix, etc. - Structurelle, par exemple non limitatif, un bord est dÃ©fini par son orientation et sa courbure, un phonÃ¨me est dÃ©fini par la rÃ©partition de ses formants dans le temps, etc. 30 Le label se compose d'un mot de v bits, la quantitÃ© de labels mÃ©morisable est de 2"-1, le label Â« zÃ©ro Â» Ã©tant exclus.. La dÃ©finition du label est donnÃ©e par le message entrant qui peut Ãªtre incomplet et/ou erronÃ©, d'oÃ¹ une difficultÃ© de retrouver le label. L'utilisation d'un mode ternaire 3065826 31 sur certains Ã©lÃ©ments (RSi_x), correspondant Ã masque d'un champ de bits appliquÃ© Ã une partie du message d'entrÃ©e (17) de (RSin_i), permet de rÃ©soudre ce problÃ¨me. La figure 11-a explicite le fonctionnement de l'unitÃ© de transfert de traduction (71) Ã 5 partir des donnÃ©es spatio-temporelles (70) (DonnÃ©es temporelles E et position P(i,j)) issues d'un capteur externe, non reprÃ©sentÃ©. Chaque donnÃ©e spatio-temporelles (70) entrante dans cette unitÃ© (71) est traduite et dÃ©livrÃ©e sur quatre ports de sortie, d'une maniÃ¨re synchrone par un signal Ck, en trois reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires distinctes, G, D, S, positionnÃ©es en P. Chaque port de sortie G, D, S, et P est connectÃ© indÃ©pendamment et respectivement, sur le bus G (72), le bus D (73), le bus S (74) et le bus P (75). La figure 11-b est une reprÃ©sentation imagÃ©e des diffÃ©rentes donnÃ©es G, D, S, et P. La donnÃ©e entrante est reprÃ©sentÃ©e dans son mode global sortie G, dynamique sortie D, et structural sortie S, et en position i,j dÃ©terminÃ©e par la donnÃ©e P, suivant 15 trois plans registrÃ©s en mode 2D. La position P est exprimÃ©e en fonction de la dimension de sa base. GÃ©nÃ©ralement 2D pour des donnÃ©es visuelles (x, y) ou auditives (t, f), elle peut Ãªtre Ã©tendue Ã du 3D ou rÃ©duite Ã 1D. La figure 12 illustre l'organisation des rÃ©sultats des calculs des quatre histogrammes bilinÃ©aires de l'unitÃ© attracteur dynamique (80_i) Ã partir des 20 donnÃ©es de 2z bits G, D, S, et P issues de l'unitÃ© de transfert de traduction (71). La donnÃ©e entrante traitÃ©e dans cet exemple est de type vision 2D. L'unitÃ© (71) traduit cette donnÃ©e en - reprÃ©sentation globale (G) : suivant deux axes, teinte (T) et saturation (S). Histogramme (HG) sur 22z valeurs, figure 12a. 25 - reprÃ©sentation dynamique (D) : suivant deux axes, direction (Dir) et vitesse de dÃ©placement (Vit). Histogramme (H_D) sur 22z valeurs, figure 12b. - reprÃ©sentation structurale (S) : suivant deux axes, bord orientÃ© (Bo) et courbure (Cb). Histogramme (H_S) sur 22z valeurs, figure 12c. - reprÃ©sentation en position (P) : suivant deux axes x et y. Histogramme (H_P) 30 sur 22z valeurs, figure 12d. Chaque donnÃ©e entrante est codÃ©e en mot de 2z bits donnant une reprÃ©sentation matricielle 2z x 2z du calcul d'histogramme, les z bits premiers reprÃ©sentant un axe et les z bits restant le second axe de la matrice. 3065826 32 Pour illustrer le procÃ©dÃ© perceptif de reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires, une portion de bord d'un objet (Ob) est visualisÃ©e en figure 12d par sa reprÃ©sentation en position (P), valeurs grisÃ©es correspondant aux rÃ©sultats classÃ©s, par l'unitÃ© de classification (83), du calcul d'histogramme bilinÃ©aire de la 5 matrice (H_P). Le rÃ©sultat de ce calcul d'histogramme est transmis Ã l'unitÃ© de registres de sortie (76) avec pour valeur, son barycentre en position de 2z bits (x, y) et sa plage en dimension de 2z bits (a, b). L'orientation et la courbure locale perÃ§u de l'objet (Ob), figure 12c, est dÃ©livrÃ© par le calcul de l'histogramme bilinÃ©aire (H_S) dont le rÃ©sultat du calcul est transmis Ã 10 l'unitÃ© de registres de sortie (76) avec pour valeur, son barycentre, donc sa reprÃ©sentation sÃ©mantique d'orientation et de courbure de 2z bits (bo, cb) et sa tolÃ©rance de 2z bits (a, b). La figure 12a indique, par le rÃ©sultat du calcul d'histogramme bilinÃ©aire (H_G) la couleur dominante de la partie de l'objet (Ob) reprÃ©sentÃ©e par sa valeur de teinte et 15 de saturation de 2z bits (t, s) avec sa valeur de tolÃ©rance de 2z bits (a, b), transmis Ã l'unitÃ© de registres de sortie (76). De mÃªme la figure 12b indique, par le rÃ©sultat du calcul d'histogramme bilinÃ©aire (H_D) le dÃ©placement locale de la partie de l'objet (Ob) reprÃ©sentÃ©e par sa valeur de direction de mouvement et sa vitesse de 2z bits (t, s) avec sa valeur de 20 tolÃ©rance de 2z bits (a, b), transmis Ã l'unitÃ© de registres de sortie (76). En inverse, l'unitÃ© de registres d'entrÃ©e (77) actualise, dans le mÃªme ordre, les bornes de classification des unitÃ©s de classification requÃªte (84) de chaque unitÃ© de traitement statistique (81_G, 81_D, 81_S, et 81_P). Ce procÃ©dÃ© perceptif assure un asservissement entre les donnÃ©es perÃ§ues, 25 reprÃ©sentÃ©es et interprÃ©tÃ©es en tant que label appris. Dans cet exemple d'application, le sous-message entrant RSin_x) de la MÃ©moire Associative (10) est composÃ© des rÃ©sultats (t, s, a, b) pour le sous message (RSi-1) et (RSi-2), (dir, vit, a, b) pour le sous message (RSi-3) et (RSi-4), (bo, cb, a, b) pour le sous message (RSi-5) et (RSi-6), et (x, y, a, b) pour le sous message (RSi-7) et 30 (RSi-8). De mÃªme pour le sous message sortant (RSout_x) de la MÃ©moire Associative (10). Ce sous-message (RSin_x) est une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire globale, dynamique, structurale (rÃ©ponse Ã la question Quoi ?) et positionnÃ©e 3065826 33 (rÃ©ponse Ã la question Ou ?). Les n sous-messages (RSin_x), x variant de lÃ n, dÃ©finissent le message MEin_i reprÃ©sentant en sortie de la MÃ©moire Associative (10) le label (Lout_i). La figure 13 reprÃ©sente une utilisation de trois unitÃ©s MÃ©moire Associative (10_1) Ã 5 (10_3) regroupÃ© en un ensemble associatif de messages (60) versus label et vice versa, ayant chacune une organisation du message en quatre sous-messages, assemblÃ©es en deux niveaux hiÃ©rarchiques associant en parallÃ¨le deux messages entrant (MEin_a) et (MEin_b) Ã un label sortant (Lout_c) et un label entrant (Lin_c) Ã deux messages sortant (MEout_a) et (MEout_b). Le message (MEin_a) se 10 compose de quatre sous-messages (RSin_al ) Ã (RSin_a4) en entrÃ©e de l'unitÃ© (10_1), de mÃªme le message (MEout_a) se compose de quatre sous-messages (RSout_al) Ã (RSout_a4), en sortie de l'unitÃ© (10_1). L'unitÃ© (10_2) possÃ¨de la mÃªme configuration que l'unitÃ© (10_1), l'indice a Ã©tant remplacÃ© par b. Les labels (Lout_ a) et (Lout_b) forment le message intrant de l'unitÃ© (10_3), de mÃªme les 15 labels entrant (Lin_a) et (Lin_b) forment le message sortant de l'unitÃ© (10_3). Cette unitÃ© (10_3) associe son label entrant (Lin-c) au message sortant, constituÃ© des sous-messages (Lin_a) et (Lin_b), et son label sortant (Lout-c) au message entrant, constituÃ© des sous-messages (Lout_a) et (Lout_b). Les sous-messages non prÃ©sent en entrÃ©e de l'unitÃ© (10_3) sont reprÃ©sentÃ©s par la valeur zÃ©ro. 20 Cet agencement de trois unitÃ©s MÃ©moire Associative (10_1) Ã (10_3) permet d'associer les messages (MEin_a) et (MEin_b) au label (Lout_c) et vice versa les messages (MEout_a) et (MEout_b) au label (Lin_c). Cet agencement est non limitatif, il peut Ãªtre Ã©tendu en nombres d'unitÃ©s MÃ©moire Associative (10_1) Ã (10_x) et regroupÃ©es suivant plusieurs niveaux hiÃ©rarchiques, 25 les messages Ã©tant alors de taille variables en nombre de sous-messages. Ces arborescences permettent des apprentissages complexes et variÃ©s avec un nombre d'unitÃ© MÃ©moire Associative (10_1) Ã (10_x) restreint. Par exemple un message (A) reprÃ©sentant le chiffre un et un message (B) reprÃ©sentant le chiffre zÃ©ro sont associÃ©s respectivement Ã l'unitÃ© mÃ©moire 30 associative (10_1) et l'unitÃ© mÃ©moire associative (10_2), ces unitÃ©s dÃ©livrent respectivement les labels Â« un Â» et Â« zÃ©ro Â» qui forment le nouveau message pour une unitÃ© mÃ©moire associative (10_3) qui dÃ©livre un label Â« dix Â». Dans le sens inverse, le label Â« dix Â» gÃ©nÃ¨re un message comportant deux sous messages de 3065826 34 label Â« un Â» et Â« zÃ©ro Â» qui sont introduit respectivement dans les unitÃ©s mÃ©moire associative (10_1) et (102) et qui gÃ©nÃ¨re respectivement les reprÃ©sentations Ã©lÃ©mentaires des chiffres Â« un Â» et Â« zÃ©ro Â», une partie de message erronÃ© est corrigÃ©e. 5 De mÃªme, avec cette organisation, un message 1 associe un (son) avec une unitÃ© mÃ©moire associative (10_1), et un message 2 associe un (oiseau blanc) avec une unitÃ© mÃ©moire associative (10_2), la troisiÃ¨me unitÃ© mÃ©moire associative (10_3) associe le label Â« mouette Â». En inverse l'Ã©coute du son spÃ©cifique de la mouette est perÃ§ue en tant que reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires dÃ©crit par le message 1 qui est introduit dans l'unitÃ© mÃ©moire associative (10_1) et en fourni un label son Ã l'unitÃ© mÃ©moire associative (10_3), son unitÃ© de maximum de vraisemblance (3) en dÃ©duit le label Â« mouette Â». En retour cette mÃªme unitÃ© mÃ©moire associative (10_3) gÃ©nÃ¨re le message (son) et (oiseau blanc). Le sous message oiseau blanc est introduit en tant que label dans l'unitÃ© mÃ©moire 15 associative (10_2) qui en dÃ©bite un message de reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires correspondant Ã la description de cet oiseau afin de le repÃ©rer. La figure 14 reprÃ©sente une extension et gÃ©nÃ©ralisation de l'utilisation de plusieurs ensembles associatifs de messages versus label et vice versa en tant que gÃ©nÃ©rateur universel de graphe hiÃ©rarchique (60). Pour plus de clartÃ©, les signaux 20 binaires de commande (En), (Wr), (T), (Cor), et son horloge de sÃ©quencement (Ck) gÃ©rant l'ensemble des MÃ©moire Associative (10) de ces ensembles (60) sont non reprÃ©sentÃ©s. Un premier ensemble associatif de messages (60_1) associe deux messages (A) et (B) Ã un label (L_AB) et vice versa. Un second ensemble associatif de messages 25 (60_2) associe deux messages (C) et (D) Ã un label (L_CD) et vice versa. Un troisiÃ¨me ensemble associatif de messages (60_3) associe les deux labels dÃ©finis prÃ©cÃ©demment en tant que messages (L_AB) et (L_CD) Ã un label (L_ABCD) et vice versa. Un quatriÃ¨me ensemble associatif de messages (60_4) associe le label dÃ©fini prÃ©cÃ©demment en tant que messages (L_ABCD) et le message (E) Ã un label 30 (L_ABCDE) et vice versa. La figure 15 explicite un mode d'utilisation type robotique. Un stimulus (91) est perÃ§u par un rÃ©cepteur (92) qui Ã©met alors sur son port de sortie (Mes) un message affÃ©rent (93) vers l'unitÃ© MÃ©moire Associative (10_1) sur son entrÃ©e (MEin) 3065826 entrainant sur sa sortie (Lout) une information de sortie label perÃ§u (94). Un processus d'analyse, ici non reprÃ©sentÃ©, en dÃ©duit en fonction de l'application mise en oeuvre un label de commande (95) qui est dÃ©livrÃ© sur le port entrÃ©e (Lin) de la MÃ©moire Associative (10_1). Celle-ci dÃ©bite alors sur son port de sortie (MEout) un 5 signal effÃ©rent (96) qui est connectÃ© au port d'entrÃ©e (Cde) de l'unitÃ© effecteur (97) qui donne la rÃ©ponse (98). La figure 16 reprÃ©sente un composant Ã©lectronique (20) intÃ©grant la mÃ©moire associative (10). Afin de rÃ©duire le nombre de plots du circuit, sont associÃ©s : - Une unitÃ© interface de communication (21) entre les entrÃ©es/sorties 10 (Lin/Lout) de la mÃ©moire associative et le port bidirectionnel (Lin/Lout) du composant Ã©lectronique pilotÃ© par le signal (En) et (Wr). - une interface de communication (22) entre les entrÃ©es/sorties (RSin_i/RSouti) de la mÃ©moire associative, sÃ©lectionnÃ©es par les signaux (Sel[2 :0]), et le port bidirectionnel (RSin/RSout) du 15 composant Ã©lectronique. - Des signaux de commande : (En), (Wr), (T), (R), (F), (Cor), (Ck), et (Sel[2 :0]). En prenant comme taille de bus : v=16 et w=24, le boitier comporte 56 plots ce qui est trÃ¨s compact. En dimensionnant n Ã 8, le volume mÃ©moire se compose de 8 20 unitÃ©s de 216 mots de 24 bits et une unitÃ© mÃ©moire de 216 mots de 16 bits soit un total de 13 631 488 cellules mÃ©moires. La cellule Ã©lÃ©mentaire est aujourd'hui infÃ©rieure au pm2, par exemple 10F2 en technologie 28 nm pour une cellule ferroÃ©lectrique, ce qui permet la rÃ©alisation d'un circuit de moins de 15 mm2 donc trÃ¨s Ã©conomique pour une mÃ©moire associative de 65 535 labels. 25 La figure 17 reprÃ©sente une autre forme d'intÃ©gration Ã©lectronique directement sur le substrat du wafer (30) qui a dÃ©jÃ Ã©tÃ© traitÃ© suivant un autre procÃ©dÃ© de gravure. Ce procÃ©dÃ©, appelÃ© BEOL pour en anglais Back End Of Line, permet la rÃ©alisation d'un seul composant qui intÃ¨gre la partie perceptive et la partie mÃ©moire associative. C'est un systÃ¨me en un circuit (SoC system on chip). Ce circuit peut 30 Ãªtre dupliquÃ© en matrice afin de traiter en parallÃ¨le plusieurs modalitÃ©s perceptives telles que la vision, l'audition, le toucher...etc. et d'augmenter la connaissance perceptive engendrÃ©e. Ce circuit SoC peut avantageusement Ãªtre empilÃ© sous un capteur imageur afin de rÃ©aliser un capteur visuel douÃ© d'intelligence. En y joignant 3065826 36 une unitÃ© de transmission, il ne reste plus que l'alimentation Ã fournir pour le fonctionnement d'un produit complet. RÃ©fÃ©rence nombres et symboles 5 1_i Sous-unitÃ© (i) mÃ©moire associative de 2" mots de w bits 2 sous-unitÃ© mÃ©moire associative de 2" mots de v bits 3 unitÃ© de comptage de 2" valeurs de (Cpt) avec entrÃ©e (R) de remise Ã zÃ©ro et sorte (F) de limite de comptage 4 unitÃ© de sÃ©lection de maximum de vraisemblance 10 5 unitÃ© multiplexeur 2 vers 1 Ã v bits 6 unitÃ© d'initialisation des sous-unitÃ©s mÃ©moires 7 unitÃ© boolÃ©enne OU boolÃ©en Ã 2 entrÃ©es 7' unitÃ© boolÃ©enne ET-OU boolÃ©en Ã 2 entrÃ©es 8 unitÃ© boolÃ©enne OU boolÃ©en Ã 2 entrÃ©es 15 9 unitÃ© boolÃ©enne ET boolÃ©en Ã 2 entrÃ©es dont une inversÃ©e Ã v bits 10 unitÃ© MÃ©moire Associative 11_i unitÃ© (i) boolÃ©enne ET boolÃ©en Ã 2 entrÃ©es dont une inversÃ©e Ã w bits 12 unitÃ© multiplexeur 2 vers 1 Ã v bits 13 unitÃ© boolÃ©enne OU boolÃ©en Ã 2 entrÃ©es 20 14 unitÃ© multiplexeur 2 vers 1 Ã 1 bit 15 unitÃ© boolÃ©enne OU boolÃ©en Ã 2 entrÃ©es 16 unitÃ© boolÃ©enne ET boolÃ©en Ã 2 entrÃ©es 17 masque d'un champ de bits appliquÃ© Ã une partie du message d'entrÃ©e RSin_i 25 20 composant Ã©lectronique intÃ©grant la mÃ©moire associative (10) 21 interface de communication entre les entrÃ©es/sorties Lin/Lout de la mÃ©moire associative (10) et le composant Ã©lectronique (20) 22 interface de communication entre les entrÃ©es/sorties RSin_i/RSout_i de la mÃ©moire associative (10) et RSin/RSout du composant Ã©lectronique (20) 30 30 wafer silicium 41 unitÃ© de sÃ©quencement et quantification des donnÃ©es avec recherche de la donnÃ©e la plus reprÃ©sentÃ©e 42 registre de quantification de la donnÃ©e la plus reprÃ©sentÃ©e 3065826 37 43 valeur de sortie de l'unitÃ© de sÃ©lection de maximum de vraisemblance 50 unitÃ© de choix de position 51 unitÃ© sÃ©quenceur 52 unitÃ© multiplexeur Ã n entrÃ©es de w bits 5 60 gÃ©nÃ©rateur universel de graphe hiÃ©rarchique 70 donnÃ©e spatio-temporelle entrante 71 unitÃ© de transfert de traduction 72 bus G 73 bus D 10 74 bus S 75 bus P 76 unitÃ© de registres de sortie 77 unitÃ© de registres d'entrÃ©e 78 signal binaire de validation de calcul d'histogramme 15 80 unitÃ© attracteur dynamique 81_G, 81_D, 81_S, et 81_P unitÃ©s traitement statistique 82 unitÃ© de calcul histogramme bilinÃ©aire 83 unitÃ©s de classification automatique 84 unitÃ©s de classification requÃªte 20 85 unitÃ© boolÃ©enne de validation de classification 86 unitÃ© boolÃ©enne de classification spatio-temporelle 87 unitÃ© de validation de calcul d'histogramme 91 stimulus 92 rÃ©cepteur 25 93 voie affÃ©rente 94 label perÃ§u 95 label de commande 96 voie effÃ©rente 97 effecteur 30 98 rÃ©ponse AB bus commun de v bits Adr port entrÃ©e adresse mÃ©moire des sous-unitÃ©s mÃ©moire (1_1) Ã (1_n) et (2) 3065826 38 Cadr port de sortie adresse du contenu mÃ©moire sÃ©lectionnÃ© par son port entrÃ©e (In) des sous-unitÃ©s (1_1) Ã (1_n) et (2) Cin commande entrÃ©e inhibition dynamique Cout commande sortie inhibition dynamique s Ck horloge de sÃ©quencement Cor entrÃ©e signal de commande de correction du message d'entrÃ©e (RSin_i) Cpt port de sortie de l'unitÃ© de comptage (3) Cpt[v-1 :0] valeur binaire de sortie de l'unitÃ© de comptage (3) D reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire dynamique 10 En entrÃ©e validation fonction des sous-unitÃ©s mÃ©moires associatives (1_i) et (2) F sortie signal de limite de comptage G reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire globale In port d'entrÃ©e des sous-unitÃ©s mÃ©moire (1_1) Ã (1_n) et (2) Li valeur de lien entre les mÃ©moires (1) et (2) 15 L AB label entrant et sortant L_CD label entrant et sortant Louti Label en sortie Lin _j Label en entrÃ©e M signal en sortie validant la valeur binaire du port de sortie (Cadr) associÃ©e 20 MA, MB, MC, MD, ME messages entrant et sortant MEin_i message entrant regroupant n sous-messages (RSin_1) Ã (RSin_n) MEout_j message sortant regroupant n sous-messages (RSout_1) Ã (RSout_n) n nombre de sous-messages entrÃ©e (RSin_i) ou sortie (RSout_i) Ob portion de bord d'un objet 25 Out port de sortie des sous-unitÃ©s mÃ©moire (1_1) Ã (1_n)) et (2) P position des reprÃ©sentations sÃ©mantiques Ã©lÃ©mentaires G, D, et S q nombre d'Ã©lÃ©ments constituant un sous-message R entrÃ©e signal de remise Ã zÃ©ro de l'unitÃ© de comptage (3) S reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire structurale 30 Wr signal de commande Ã©criture des sous-unitÃ©s mÃ©moires (1) et (2) Wre entrÃ©e signal de sÃ©lection Ã©criture de l'unitÃ© MÃ©moire Associative (10) RSi_x Ã©lÃ©ment du sous message entrant RSin_i de z bits RSo-x Ã©lÃ©ment du sous message sortant RSout_i de z bits 3065826 39 RSin_i sous-message (i) en entrÃ©e mÃ©moire RSout_i sous-message (i) en sortie mÃ©moire VI entrÃ©e validation valeur (L_i) Wr signal de commande Ã©criture des mÃ©moires (1) et (2) 5 /1 signal binaire de 1 bit /y bus signal binaire de v bit 1w bus signal binaire de w bit, w=z.q Ã bus signal binaire de z bit REVENDICATIONS1 ProcÃ©dÃ© de MÃ©morisation Associative composÃ© d'un assemblage de au moins deux sous-unitÃ©s mÃ©moires similaires Ã accÃ¨s par contenu de 2" mots de w bits pour la premiÃ¨re (1_1), avec v compris entre 1 et w et, de 2" mots de v bits pour la seconde (2). La sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode Ã©criture par, - un port d'adresses en mode entrÃ©e (Adr) de v bits, 10 - un port de donnÃ©es en mode entrÃ©e (In) de v ou w bits et - un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement (Ck) et deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire (En) et l'autre d'Ã©criture (Wr), ces deux signaux Ã©tant validÃ©s dans cette sÃ©quence d'Ã©criture, permettant, pendant ce cycle, l'enregistrement du mot de v ou w bits 15 prÃ©sent sur le port de donnÃ©es Ã la position mÃ©moire adressÃ©e par le mot de de v bits sur le port d'adresses, et cette mÃªme sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode lecture par, - un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement 20 (Ck), deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire valide (En), et l'autre d'Ã©criture (Wr) non valide dans cette sÃ©quence de lecture et un signal de sortie binaire de validation du contenu prÃ©sent (M) caractÃ©risÃ© en ce que dans ce mode lecture : - l'on rÃ©alise une lecture, sur un port de sortie des donnÃ©es, d'une donnÃ©e 25 de v ou w bits, prÃ©cÃ©demment enregistrÃ©es en mode Ã©criture, sÃ©lectionnÃ©e par un mot de v bits prÃ©sentÃ© sur le port d'adresses entrÃ©e (Adr) et indÃ©pendamment, - l'on rÃ©alise une lecture, sur un port de sortie d'adresses de contenu mÃ©moire (Cadr), d'une donnÃ©e de v bits, correspondant Ã l'adresse de la 30 donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e (In), si prÃ©cÃ©demment cette donnÃ©e de v ou w bits a Ã©tÃ© enregistrÃ©e en mode Ã©criture Ã au moins une position mÃ©moire, en validant le signal binaire de sortie de validation du contenu prÃ©sent (M). Dans le cas contraire oÃ¹ 3065826 41 aucune des 2" positions mÃ©moires contiennent la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e, la sortie non valide du port de sortie d'adresses de contenu mÃ©moire est signalÃ©e par la non validation du signal binaire de sortie de validation du contenu prÃ©sent (M). 5 2 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 1, caractÃ©risÃ© en ce que, l'unitÃ© MÃ©morisation Associative (10) sÃ©lectionnÃ©e en mode lecture, (Wr = 0), l'on associe au moins deux sous-unitÃ©s mÃ©moires similaires par deux bus indÃ©pendant de v bits : - le premier bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire (Cadr) de v bits de la premiÃ¨re mÃ©moire associative (1_1) et le port d'adresses en mode entrÃ©e (Adr) de v bits de la seconde mÃ©moire associative (2) et, - le second bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire (Cadr). de v bits de la seconde mÃ©moire associative (2) et le port 15 d'adresses en mode entrÃ©e (Adr) de v bits de la premiÃ¨re mÃ©moire associative (1_1). 3 ProcÃ©dÃ© de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que, l'unitÃ© MÃ©morisation Associative (10) sÃ©lectionnÃ©e en mode Ã©criture (Wr=1), l'on associe au moins 20 deux sous-unitÃ©s mÃ©moires similaires (1_1) et (2), par un bus commun (AB) de v bits, issu de la sortie d'un compteur binaire (3) de v bits, et connectÃ© au port d'adresses en mode entrÃ©e (Adr) de v bits de chaque mÃ©moire associative (1_1) et (2). 4 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 3, caractÃ©risÃ© en 25 ce que l'unitÃ© MÃ©morisation Associative (10) possÃ¨de une phase d'initialisation, impliquant l'ensemble des sous-unitÃ©s mÃ©moires prÃ©sentes, commandÃ©e par une unitÃ© d'initialisation des sous-unitÃ©s mÃ©moires (6) qui est dÃ©clenchÃ© par la validation des signaux binaires entrÃ©es d'initialisation (lnÂ° et de sÃ©lection de l'ensemble des mÃ©moires (En) issu du port de commande. Cet unitÃ© 30 d'initialisation (6) initialise Ã zÃ©ro le compteur binaire (3) de v bits, puis l'incrÃ©mente d'une unitÃ© Ã chaque cycle d'horloge entrÃ©e binaire de sÃ©quencement pendant 2" +1 cycles. Durant ce laps de temps l'unitÃ© d'initialisation (6) valide le mode Ã©criture, (signal entrÃ©e binaire d'Ã©criture (Wr) 3065826 42 validÃ©), et le forÃ§age Ã zÃ©ro du port entrÃ©e des donnÃ©es (In) de chacune des sous unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2). En fin de sÃ©quence, toutes les positions mÃ©moires de chacune des sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2) sont initialisÃ©es Ã zÃ©ro ainsi que le compteur binaire (3) de v bits. 5 5 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 3, caractÃ©risÃ© en ce qu'en dehors de la sÃ©quence d'initialisation, le signal entrÃ©e binaire de sÃ©lection de la mÃ©moire (En) Ã©tant validÃ©, l'on incrÃ©mente le compteur binaire (3) de v bits d'une valeur unitaire en dÃ©but de chaque validation du signal d'Ã©criture mÃ©moire (Wr). 6 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 3, caractÃ©risÃ© en ce que l'on valide un signal de limite de comptage (F) lorsque la valeur du compteur binaire (3) de v bits atteint la valeur 2" -1. 7 ProcÃ©dÃ© de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que, programmÃ©e en mode lecture (.Wr=0 et En=1), l'on regroupe les sous-unitÃ©s mÃ©moires en deux ensembles, le premier intÃ©grant n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits, ces deux ensembles Ã©tant liÃ©s par deux bus antagonistes : - le premier bus (AB), issu du port de sortie d'adresses de contenu mÃ©moire (Cadr) de v bits de la sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits, est connectÃ© sur le port d'adresses en mode entrÃ©e (Adr) de v bits de chacune des n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n). - Le second bus, constituÃ© de la sortie de chacun des ports de sorties d'adresses de contenu mÃ©moire (Cadr) de v bits et de leurs signaux de sortie binaire de validation de contenu (M) respectif prÃ©sent dans l'ensemble des n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n), est introduit dans une unitÃ© de sÃ©lection du maximum de vraisemblance des valeurs d'entrÃ©es (4) qui fournit en sortie la valeur sÃ©lectionnÃ©e la plus reprÃ©sentÃ©e (L_i). Cette valeur du maximum de vraisemblance est introduite dans le port d'adresses en mode entrÃ©e (In) de v bits de la sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits. 3065826 43 8 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 7, caractÃ©risÃ© en ce que, par validation d'un signal entrÃ©e binaire de correction (5) en mode lecture, l'on transmette les informations de la sortie (Li) de l'unitÃ© de valeur du maximum de vraisemblance vers le premier bus (AB) prÃ©cÃ©demment dÃ©crit s 9 ProcÃ©dÃ© de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que, programmÃ©e en mode Ã©criture (Wr=1 et En=1), la valeur du compteur binaire (3) de v bits soit incrÃ©mentÃ©e d'une unitÃ© en dÃ©but du cycle d'Ã©criture afin de fournir une valeur correspondante Ã la nouvelle adresse sur un bus (AB) reliÃ© Ã tous les ports 10 d'adresses en mode entrÃ©e (In) de v bits de chaque sous-unitÃ© MÃ©moire Associative regroupÃ©es en deux ensembles, le premier intÃ©grant n mÃ©moires associatives (1_1 Ã 1_n) comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de bits. 15 10 ProcÃ©dÃ© de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que le regroupement de ces deux ensembles de sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2) incluant le compteur binaire (3) de v bits, l'unitÃ© de calcul du maximum de vraisemblance (4), l'unitÃ© d'initialisation (6), et les divers Ã©lÃ©ments logiques de contrÃ´le constitue l'unitÃ© de 20 base de la MÃ©morisation Associative (10). 11 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 10, caractÃ©risÃ© en ce que, en mode lecture (Wr=0 et En=1), l'on associe l'unitÃ© MÃ©morisation Associative (10) Ã un message (MEin_i) constituÃ© de n sous-messages(RSin_1 Ã RSin_n) indÃ©pendant de w bits en entrÃ©e Ã un label (Loutj) de v bits en sortie 25 et, vice versa en entrÃ©e un label (Lin_i) de v bits associe en sortie un message (MEoutj) constituÃ© de n sous-messages (RSout_1 Ã RSout_n) indÃ©pendant de w bits: la prÃ©sence d'un message (MEin_i) mÃªme partiel prÃ©sentÃ© Ã l'unitÃ© de base de la mÃ©moire associative (10) fourni en sortie un label (Lout_i), en retour, ce label devient (Lin_i) et, Ã©tant connectÃ© en entrÃ©e Ã l'unitÃ© MÃ©morisation 30 Associative (10), dÃ©livre le message (MEout_i) complet correspondant prÃ©cÃ©demment appris. 12 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 11, caractÃ©risÃ© en ce que l'on structure chaque sous-messages indÃ©pendant entrant (RSin_x) et 3065826 44 sortant (RSout_x) de w bits chacun en p Ã©lÃ©ments de w/p bits avec, pour chaque Ã©lÃ©ment, une dÃ©finition propre Ã son emplacement. 13 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 11, caractÃ©risÃ© en ce que chaque Ã©lÃ©ment de w/p bits puisse Ãªtre mis indÃ©pendamment si 5 nÃ©cessaire en mode accÃ¨s par contenu ternaire (TCAM). 14 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 11, caractÃ©risÃ© en ce que le sous-message (RSout_x) de w bits sortant de l'unitÃ© MÃ©moire Associative (10) soit connectÃ© Ã l'unitÃ© de registres d'entrÃ©e (77) d'un attracteur dynamique (80_x) et que l'unitÃ© de registres rÃ©sultat (76) de ce mÃªme attracteur 10 dynamique dÃ©livre le sous-message entrant (RSin_x) de w bits de l'unitÃ© MÃ©moire Associative (10). 15 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 14, caractÃ©risÃ© en ce que les p Ã©lÃ©ments de w/p bits du sous-message indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits aient, comme dÃ©finition propre Ã son 15 emplacement, une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique ou structurale. 16 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 15, caractÃ©risÃ© en ce que l'attracteur dynamique (80_x) extrait, des flots de donnÃ©es sÃ©quencÃ©s Ã sous sÃ©quences issue d'une unitÃ© de conversion (71) d'un flow de donnÃ©es 20 entrant (70), une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale (72), dynamique (73), structurale (74) et, rÃ©fÃ©rencÃ©e en position (75) correspondant Ã un sous-message. 17 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 16, caractÃ©risÃ© en ce que par recrutement dynamique des attracteurs dynamiques (80_x) avec 25 inhibition des antÃ©cÃ©dents (chaÃ®nage Cout de l'attracteur dynamique (80_x) Ã Cin de l'attracteur dynamique (80_x+1). Chaque attracteur dynamique (80_x) en fonction dÃ©finit un sous-message (RSin_x) dont l'ensemble correspond au message (ME_in) transmis. 18 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 10 ou la 30 revendication 11, caractÃ©risÃ© en ce que les unitÃ©s de bases MÃ©morisation Associative (10_x) se connectent en mode pyramidal inverse, un premier niveau de p unitÃ©s de base de MÃ©moire Associative reÃ§oit p messages et gÃ©nÃ¨re p labels qui se connectent chacun en tant que sous-message d'une unitÃ©s de 3065826 45 base de MÃ©moire Associative en second niveau en gÃ©nÃ©rant un label rÃ©capitulatif des sous-messages entrant, et en inverse un second label rÃ©capitulatif entrant dans cette unitÃ© de base de mÃ©moire associative gÃ©nÃ¨re un ensemble de sous-messages qui se connectent en tant que label associÃ© Ã un 5 sous-message Ã l'ensemble des p unitÃ©s de base de mÃ©moire associative du premier niveau et dÃ©livre un ensemble de p messages. 19 ProcÃ©dÃ© de lecture des MÃ©morisation Associative (10) antÃ©cÃ©dentes selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que l'on associe les sous-unitÃ©s mÃ©moires reprÃ©sentant l'unitÃ© de base MÃ©moire Associative en 10 mode lecture par un bus commun (AB) de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e (Adr) de v bits de chaque sous-unitÃ© MÃ©moire Associative, ce compteur binaire (3) de v bits Ã©tant initialisÃ© Ã zÃ©ro puis incrÃ©mentÃ© d'une unitÃ© par la commande d'un signal binaire (T) de transfert. A chaque sÃ©quence de transfert, la valeur du message 15 (RSout_i) et de son label (Lout_i) associÃ© sont accessibles. 20 ProcÃ©dÃ© de transfert de connaissance des mÃ©morisations associatives acquises d'une unitÃ© Ã une autre selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que l'on assure le transfert de connaissance des MÃ©morisations Associatives acquises d'une unitÃ© Ã une autre par association 20 d'une premiÃ¨re unitÃ© MÃ©morisation Associative en mode lecture transfert Ã une seconde unitÃ© MÃ©morisation Associative en mode Ã©criture en connectant, avec respect de la distribution des informations, les ports de sorties de la premiÃ¨re unitÃ© sur les ports entrÃ©s de la seconde unitÃ©, et en synchronisant le cycle de lecture de la premiÃ¨re unitÃ© avec le cycle d'Ã©criture de la seconde unitÃ©. 25 21 Dispositif de MÃ©morisation Associative composÃ©e d'un assemblage de au moins deux sous-unitÃ©s mÃ©moires similaires Ã accÃ¨s par contenu de 2" mots de w bits pour la premiÃ¨re (1_1), avec v compris entre 1 et w et, de 2" mots de v bits pour la seconde (2). La sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode Ã©criture par, 30 ^ un port d'adresses en mode entrÃ©e (Adr) de v bits, ^ un port de donnÃ©es en mode entrÃ©e (In) de v ou w bits et ^ un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement (Ck) et deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire (En) et 3065826 46 l'autre d'Ã©criture (Wr), ces deux signaux Ã©tant validÃ©s dans cette sÃ©quence d'Ã©criture, permettant, pendant ce cycle, l'enregistrement du mot de v ou w bits prÃ©sent sur le port de donnÃ©es Ã la position mÃ©moire adressÃ©e par le mot de de v bits sur le port d'adresses, 5 et cette mÃªme sous-unitÃ© MÃ©moire Associative est programmÃ©e en mode lecture par, ^ un port de commande comportant, une horloge entrÃ©e binaire de sÃ©quencement (Ck), deux signaux entrÃ©es binaires, l'un de sÃ©lection de la mÃ©moire valide (En), et l'autre d'Ã©criture (Wr) non valide dans cette sÃ©quence de lecture et un signal de 10 sortie binaire de validation du contenu prÃ©sent (M) caractÃ©risÃ© en ce que dans ce mode lecture : - soit prÃ©sent un port de sortie des donnÃ©es dÃ©livrant une donnÃ©e de v ou w bits, prÃ©cÃ©demment enregistrÃ©es en mode Ã©criture, sÃ©lectionnÃ©e par un mot de v bits prÃ©sentÃ© sur le port d'adresses entrÃ©e (Adr) et 15 indÃ©pendamment, - soit prÃ©sent un port de sortie d'adresses de contenu mÃ©moire (Cadr) dÃ©livrant une donnÃ©e de v bits, correspondant Ã l'adresse de la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e (In), si prÃ©cÃ©demment cette donnÃ©e de v ou w bits a Ã©tÃ© enregistrÃ©e en mode Ã©criture Ã au moins 20 une position mÃ©moire, en validant le signal binaire de sortie de validation du contenu prÃ©sent (M). Dans le cas contraire oÃ¹ aucune des 2" positions mÃ©moires contiennent la donnÃ©e de v ou w bits prÃ©sentÃ©e sur le port de donnÃ©es entrÃ©e, la sortie non valide du port de sortie d'adresses de contenu mÃ©moire est signalÃ©e par la non validation du signal binaire de 25 sortie de validation du contenu prÃ©sent (M). 22 Dispositif de MÃ©morisation Associative selon la revendication 21, caractÃ©risÃ© en ce que la mÃ©moire associative (10) soit de technologie non volatile. 23 Dispositif de MÃ©morisation Associative selon la revendication 21 ou la revendication 22, caractÃ©risÃ© en ce que, sÃ©lectionnÃ©e en mode lecture, (Wr = 0), 30 l'unitÃ© MÃ©morisation Associative (10) soit constituÃ©e d'au moins deux sous- unitÃ©s mÃ©moires similaires associÃ©s par deux bus indÃ©pendant de v bits : - le premier bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire (Cadr) de v bits de la premiÃ¨re mÃ©moire associative (1_1) et le port 3065826 47 d'adresses en mode entrÃ©e (Adr) de v bits de la seconde mÃ©moire associative (2) et, - le second bus, connectÃ© entre le port de sortie d'adresses de contenu mÃ©moire (Cadr) de v bits de la seconde mÃ©moire associative (2) et le port s d'adresses en mode entrÃ©e (Adr) de v bits de la premiÃ¨re mÃ©moire associative (1_1). 24 Dispositif de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que sÃ©lectionnÃ©e en mode Ã©criture (Wr=1), l'unitÃ© MÃ©morisation Associative (10) soit constituÃ©e d'au moins deux sous-unitÃ©s mÃ©moires similaires (1_1) et (2) associÃ©s par un bus commun (AB) de v bits, issu de la sortie d'un compteur binaire (3) de v bits, et connectÃ© au port d'adresses en mode entrÃ©e (Adr) de v bits de chaque mÃ©moire associative (1_1) et (2). 25 Dispositif de MÃ©morisation Associative selon la revendication 24, caractÃ©risÃ© en 15 ce que l'unitÃ© de comptage de 2" valeurs (3) soit Ã mÃ©morisation non volatile. 26 Dispositif de MÃ©morisation Associative selon la revendication 24, caractÃ©risÃ© en ce que l'unitÃ© MÃ©morisation Associative (10) possÃ¨de une phase d'initialisation, impliquant l'ensemble des sous-unitÃ©s mÃ©moires prÃ©sentes, commandÃ©e par une unitÃ© d'initialisation des sous-unitÃ©s mÃ©moires (6) qui est dÃ©clenchÃ© par la 20 validation des signaux binaires entrÃ©es d'initialisation (Ini) et de sÃ©lection de l'ensemble des mÃ©moires (En) issu du port de commande. Cet unitÃ© d'initialisation (6) initialise Ã zÃ©ro le compteur binaire (3) de v bits, puis l'incrÃ©mente d'une unitÃ© Ã chaque cycle d'horloge entrÃ©e binaire de sÃ©quencement pendant 2" +1 cycles. Durant ce laps de temps l'unitÃ© 25 d'initialisation (6) valide le mode Ã©criture, (signal entrÃ©e binaire d'Ã©criture (Wr) validÃ©), et le forÃ§age Ã zÃ©ro du port entrÃ©e des donnÃ©es (In) de chacune des sous unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2). En fin de sÃ©quence, toutes les positions mÃ©moires de chacune des sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2) sont initialisÃ©es Ã zÃ©ro ainsi que le compteur binaire (3) de v bits. 30 27 Dispositif de MÃ©morisation Associative selon la revendication 24, caractÃ©risÃ© en ce qu'en dehors de la sÃ©quence d'initialisation, le signal entrÃ©e binaire de sÃ©lection de la mÃ©moire (En) Ã©tant validÃ©, le compteur binaire (3) de v bits soit 3065826 48 incrÃ©mentÃ© d'une valeur unitaire en dÃ©but de chaque validation du signal d'Ã©criture mÃ©moire (Wr). 28 Dispositif de MÃ©morisation Associative selon la revendication 24, caractÃ©risÃ© en ce que le compteur binaire (3) de v bits comporte un signal de limite de 5 comptage (F) en sortie qui devient valide lorsque la valeur binaire du compteur est Ã©gale Ã 2" -1. 29 Dispositif de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que, programmÃ©e en mode lecture (.Wr=0 et En=1), les sous-unitÃ©s mÃ©moires soient regroupÃ©es en deux 10 ensembles, le premier intÃ©grant n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits, ces deux ensembles Ã©tant liÃ©s par deux bus antagonistes : - le premier bus (AB), issu du port de sortie d'adresses de contenu mÃ©moire 15 (Cadr) de v bits de la sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits, est connectÃ© sur le port d'adresses en mode entrÃ©e (Adr) de v bits de chacune des n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n). - Le second bus, constituÃ© de la sortie de chacun des ports de sorties d'adresses de contenu mÃ©moire (Cadr) de v bits et de leurs signaux de 20 sortie binaire de validation de contenu (M) respectif prÃ©sent dans l'ensemble des n sous-unitÃ©s mÃ©moires (1_1 Ã 1_n), est introduit dans une unitÃ© de sÃ©lection du maximum de vraisemblance des valeurs d'entrÃ©es (4) qui fournit en sortie la valeur sÃ©lectionnÃ©e la plus reprÃ©sentÃ©e (L_i). Cette valeur du maximum de vraisemblance est introduite dans le port d'adresses en mode 25 entrÃ©e (In) de v bits de la sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de v bits. 30 Dispositif de MÃ©morisation Associative selon la revendication 29, caractÃ©risÃ© en ce que, par validation d'un signal entrÃ©e binaire de correction (5) en mode lecture, les informations transmises dans le premier bus (AB) prÃ©cÃ©demment 30 dÃ©crit soient issu de la sortie (L_i) de l'unitÃ© de valeur du maximum de vraisemblance. 31 Dispositif de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que, programmÃ©e en mode 3065826 49 Ã©criture (Wr=1 et En=1), la valeur du compteur binaire (3) de v bits soit incrÃ©mentÃ©e d'une unitÃ© en dÃ©but du cycle d'Ã©criture afin de fournir une valeur correspondante Ã la nouvelle adresse sur un bus (AB) reliÃ© Ã tous les ports d'adresses en mode entrÃ©e (In) de v bits de chaque sous-unitÃ© MÃ©moire 5 Associative regroupÃ©es en deux ensembles, le premier intÃ©grant n mÃ©moires associatives (1_1 Ã 1_n) comprenant chacune 2" mots de w bits, le second reprÃ©sentÃ© par une sous-unitÃ© MÃ©moire Associative (2) comprenant 2" mots de bits. 32 Dispositif de MÃ©morisation Associative selon l'une quelconque des 10 revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que le regroupement de ces deux ensembles de sous-unitÃ©s mÃ©moires (1_1 Ã 1_n) et (2) incluant le compteur binaire (3) de v bits, l'unitÃ© de calcul du maximum de vraisemblance (4), l'unitÃ© d'initialisation (6), et les divers Ã©lÃ©ments logiques de contrÃ´le constitue l'unitÃ© de base de la MÃ©morisation Associative (10). 15 33 Dispositif de MÃ©morisation Associative selon la revendication 32, caractÃ©risÃ© en ce que en mode lecture (Wr=O et En=1), l'unitÃ© MÃ©morisation Associative (10) associe un message (MEin_i) constituÃ© de n sous-messages (RSin_1 Ã RSin_n) indÃ©pendant de w bits en entrÃ©e Ã un label (Loutj) de v bits en sortie et, vice versa en entrÃ©e un label (Lin_i) de v bits associe en sortie un message 20 (MEoutj) constituÃ© de n sous-messages (RSout_1 Ã RSout_n) indÃ©pendant de w bits: la prÃ©sence d'un message (MEin_i) mÃªme partiel prÃ©sentÃ© Ã l'unitÃ© de base de la mÃ©moire associative (10) fourni en sortie un label (Lout_i), en retour, ce label devient (Lin_i) et, Ã©tant connectÃ© en entrÃ©e Ã l'unitÃ© MÃ©morisation Associative (10), dÃ©livre le message (MEout_i) complet correspondant 25 prÃ©cÃ©demment appris. 34 Dispositif de MÃ©morisation Associative selon la revendication 33, caractÃ©risÃ© en ce que chaque sous-messages indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits soit structurÃ© chacun en p Ã©lÃ©ments de w/p bits avec, pour chaque Ã©lÃ©ment, une dÃ©finition propre Ã son emplacement. 30 35 ProcÃ©dÃ© de MÃ©morisation Associative selon la revendication 33, caractÃ©risÃ© en ce que chaque Ã©lÃ©ment de w/p bits puisse Ãªtre mis indÃ©pendamment si nÃ©cessaire en mode accÃ¨s par contenu ternaire (TCAM). 3065826 50 36 Dispositif de MÃ©morisation Associative selon la revendication 33, caractÃ©risÃ© en ce que le sous-message (RSout_x) de w bits sortant de l'unitÃ© MÃ©moire Associative (10) soit connectÃ© Ã l'unitÃ© de registres d'entrÃ©e (77) d'un attracteur dynamique (80_x) et que l'unitÃ© de registres rÃ©sultat (76) de ce mÃªme attracteur 5 dynamique dÃ©livre le sous-message entrant (RSin_x) de w bits de l'unitÃ© MÃ©moire Associative (10). 37 Dispositif de MÃ©morisation Associative selon la revendication 36, caractÃ©risÃ© en ce que les p Ã©lÃ©ments de w/p bits du sous-message indÃ©pendant entrant (RSin_x) et sortant (RSout_x) de w bits aient, comme dÃ©finition propre Ã son 10 emplacement, une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale, dynamique ou structurale. 38 Dispositif de MÃ©morisation Associative selon la revendication 37, caractÃ©risÃ© en ce que l'attracteur dynamique (80_x) extrait, des flots de donnÃ©es sÃ©quencÃ©s Ã sous sÃ©quences issue d'une unitÃ© de conversion (71) d'un flow de donnÃ©es 15 entrant (70), une reprÃ©sentation sÃ©mantique Ã©lÃ©mentaire de type globale (72), dynamique (73), structurale (74) et, rÃ©fÃ©rencÃ©e en position (75) correspondant Ã un sous-message. 39 Dispositif de MÃ©morisation Associative selon la revendication 38, caractÃ©risÃ© en ce que par recrutement dynamique des attracteurs dynamiques (80_x) avec 20 inhibition des antÃ©cÃ©dents (chainage Cout de l'attracteur dynamique (80_x) Ã Cin de l'attracteur dynamique (80_x+1). Chaque attracteur dynamique (80_x) en fonction dÃ©finit un sous-message (RSin_x) dont l'ensemble correspond au message (ME_in) transmis 40 Dispositif de MÃ©morisation Associative selon la revendication 32 ou la 25 revendication 33, caractÃ©risÃ© en ce que les unitÃ©s de bases MÃ©morisation Associative se connectent en mode pyramidal inverse, un premier niveau de p unitÃ©s de base de MÃ©moire Associative reÃ§oit p messages et gÃ©nÃ¨re p labels qui se connectent chacun en tant que sous-message d'une unitÃ©s de base de MÃ©moire Associative en second niveau en gÃ©nÃ©rant un label rÃ©capitulatif des 30 sous-messages entrant, et en inverse un second label rÃ©capitulatif entrant dans cette unitÃ© de base de mÃ©moire associative gÃ©nÃ¨re un ensemble de sous-messages qui se connectent en tant que label associÃ© Ã un sous-message Ã 3065826 51 l'ensemble des p unitÃ©s de base de mÃ©moire associative du premier niveau et dÃ©livre un ensemble de p messages. 41 Dispositif de lecture des MÃ©morisation Associative antÃ©cÃ©dentes selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que l'on associe 5 les sous-unitÃ©s mÃ©moires reprÃ©sentant l'unitÃ© de base MÃ©moire Associative en mode lecture par un bus commun de v bits, issu de la sortie d'un compteur binaire de v bits, et connectÃ© au port d'adresses en mode entrÃ©e de v bits de chaque sous-unitÃ© MÃ©moire Associative, ce compteur binaire de v bits Ã©tant initialisÃ© Ã zÃ©ro puis incrÃ©mentÃ© d'une unitÃ© par la commande d'un signal binaire T de transfert. A chaque sÃ©quence de transfert, la valeur du message et de son label associÃ© sont accessibles. 42 Dispositif de transfert de connaissance des mÃ©morisations associatives acquises d'une unitÃ© Ã une autre selon l'une quelconque des revendications prÃ©cÃ©dentes caractÃ©risÃ© en ce que le transfert de connaissance des 15 MÃ©morisations Associatives acquises d'une unitÃ© Ã une autre est fait par association d'une premiÃ¨re unitÃ© MÃ©morisation Associative en mode lecture transfert Ã une seconde unitÃ© MÃ©morisation Associative en mode Ã©criture en connectant, avec respect de la distribution des informations, les ports de sorties de la premiÃ¨re unitÃ© sur les ports entrÃ©s de la seconde unitÃ©, et en 20 synchronisant le cycle de lecture de la premiÃ¨re unitÃ© avec le cycle d'Ã©criture de la seconde unitÃ©. 43 Dispositif de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes, caractÃ©risÃ© en ce que cette unitÃ© de base de la mÃ©moire associative soit intÃ©grÃ© en un composant Ã©lectronique. 25 44 Dispositif de MÃ©morisation Associative selon l'une quelconque des revendications prÃ©cÃ©dentes, caractÃ©risÃ© en ce que cette unitÃ© de base de la mÃ©moire associative soit empilÃ©e sur une puce Ã©lectronique.