Quest-ce que la mémoire associative ?

La plupart de la mémoire est stockée et accessible de la même manière. Le contenu est enregistré puis récupéré à l'aide d'une adresse mémoire. Ceci est généralement utile et est presque universellement utilisé. Malheureusement, il y a un léger problème avec ce style de stockage. C'est excellent si vous savez où sont stockées les données dont vous avez besoin. Il ne fonctionne pas bien si vous souhaitez rechercher une entrée spécifique.

Disons que vous voulez trouver un fichier ; vous vous souvenez de son nom mais pas du dossier que vous avez enregistré. Votre ordinateur peut rechercher le nom du fichier, mais à moins que vous ne l'ayez utilisé récemment, il est souvent assez lent pour effectuer la recherche. Et cela tient compte du fait que les systèmes de fichiers sont stockés sous forme de noms et d'adresses de fichiers.

La mémoire associative, également connue sous le nom de mémoire adressable par contenu, ou CAM, est conçue pour être recherchée par son contenu. Malheureusement, la mise en œuvre de la mémoire associative est très coûteuse. Cela signifie qu'il n'est utilisé que dans quelques cas, généralement dans le matériel réseau haut de gamme. La mémoire de nom associatif vient du fait qu'il s'agit d'une implémentation matérielle d'un tableau logiciel associatif.

Structure cellulaire

La mémoire associative n'est utilisée que là où des performances extrêmement élevées sont nécessaires. En tant que tel, il est basé sur SRAM plutôt que sur DRAM. Comme point de départ, cela seul le rend cher. La DRAM utilise un transistor et un condensateur par bit, et la SRAM utilise un total de 6 transistors. Pour rechercher efficacement le contenu d'une cellule mémoire, chaque cellule est modifiée pour avoir un circuit de comparaison. Cela ajoute un total de 4 transistors supplémentaires à chaque cellule. Cela signifie que la mémoire associative est nettement moins dense que la SRAM, qui est déjà une forme de stockage coûteuse.

Usage

La mémoire associative est coûteuse et optimisée exclusivement pour faire correspondre les recherches basées sur le contenu. En tant que tel, il n'est vraiment utilisé que dans les appareils qui ont constamment besoin d'effectuer ce type de recherche ; même alors, il est généralement limité aux modèles haut de gamme. Il n'y a généralement que deux endroits principaux où la mémoire associative est utilisée, les commutateurs réseau et les routeurs.

Le matériel de mise en réseau, comme les commutateurs et les routeurs, doit offrir des niveaux de performances élevés pour assurer la circulation constante de plusieurs gigabits de trafic réseau. Au sein d'un réseau, les adresses MAC sont utilisées pour acheminer le trafic. Un commutateur saura vers lequel de ses nombreux ports réseau les données doivent être envoyées afin qu'il parvienne à l'appareil avec la bonne adresse MAC. Pour s'assurer que chaque paquet est envoyé au bon endroit, son adresse MAC de destination est recherchée. Dans un format de mémoire traditionnel, cela prendrait un certain temps, ajoutant à la latence de chaque communication réseau. Avec la mémoire associative, cette recherche peut être beaucoup plus rapide.

Binaire et Ternaire

La plupart des mémoires associatives sont basées sur le binaire, mais certaines sont basées sur le ternaire. Une cellule de mémoire associative ternaire est similaire à la cellule binaire décrite ci-dessus. Au lieu d'avoir une cellule SRAM, cependant, il en a deux. Les deux ont alors ensemble les quatre transistors supplémentaires nécessaires pour effectuer la comparaison. Ceci, bien sûr, rend la mémoire associative ternaire encore plus chère que sa cousine binaire, alors à quoi sert-elle ?

Le deuxième bit de la cellule ternaire indique "attention" ou "ne s'inquiète pas". Cela ajoute un troisième état à la cellule et à la fonction de recherche globale. Il peut maintenant stocker un 1, 0 ou X pour ne pas s'en soucier. Ceci est particulièrement utile lorsqu'il s'agit de tables de routage réseau basées sur des masques de sous-réseau de longueur variable et de listes de contrôle d'accès. Vous pouvez avoir plusieurs réponses positives à une seule adresse de recherche dans les deux cas. Dans les deux, vous ne voulez prendre note que de l'instruction la plus précise.

Ainsi, une recherche de 192.168.20.19 peut correspondre aux règles suivantes 192.168.20.16/28 et 192.168.0.0/16. Si vous effectuiez une recherche binaire standard, vous devriez effectuer des calculs pour vérifier que l'adresse se situe dans les plages d'adresses spécifiées. Avec la logique ternaire, cependant, vous pouvez déterminer si votre adresse de recherche correspond à 192.168.xx en une seule opération. Vous pouvez également déterminer que la correspondance /28 est beaucoup plus précise que la correspondance /16 car il y a moins de bits « sans importance ». Cela vous permet d'appliquer préférentiellement les règles de contrôle d'accès associées.

Comme la mémoire associative ternaire est encore plus chère que la forme binaire, elle est encore moins courante. On ne le trouve généralement que dans les routeurs haut de gamme et les commutateurs multicouches.

Conclusion

La mémoire associative est une forme de mémoire qui fonctionne très différemment de la mémoire standard. Plutôt que de demander les données stockées dans une adresse spécifique, il recherche dans toute la mémoire en une seule fois les correspondances avec un terme de recherche. Pour y parvenir avec des niveaux de performances élevés, les cellules de mémoire sont basées sur une forme modifiée de SRAM comprenant une ou deux cellules SRAM combinées à quatre transistors supplémentaires utilisés pour effectuer la logique de comparaison de bits.

Des cellules SRAM simples sont utilisées dans la mémoire associative binaire, tandis que deux cellules SRAM sont utilisées dans la mémoire associative ternaire. La variante ternaire permet de stocker une troisième valeur, typiquement 1, 0, ou "ne s'en soucie pas". Cela permet au contenu d'indiquer qu'il doit correspondre même si le terme de recherche n'est pas précis.

Parce que les cellules de mémoire associative sont basées sur la SRAM coûteuse, elles sont coûteuses, le ternaire étant le plus coûteux. Pour cette raison et sa structure optimisée explicitement pour la recherche par contenu, la mémoire associative n'est pas utilisée dans la plupart des appareils.

Seuls les appareils qui en bénéficient particulièrement et dont les performances l'emportent sur le coût initial en sont équipés. En tant que tel, il se trouve généralement exclusivement dans le matériel réseau de niveau entreprise. Dans ce cadre, il est souvent appelé CAM et TCAM, pour Content Addressable Memory et Ternary Content Addressable Memory, respectivement.



Leave a Comment

Que faire si les Powerbeats Pro ne se chargent pas dans le boîtier

Que faire si les Powerbeats Pro ne se chargent pas dans le boîtier

Si vos Powerbeats Pro ne se chargent pas, utilisez une autre source d

Les bases de l'impression 3D : Une liste de contrôle de maintenance indispensable

Les bases de l'impression 3D : Une liste de contrôle de maintenance indispensable

Maintenir votre équipement en bon état est essentiel. Voici quelques conseils utiles pour garder votre imprimante 3D en parfait état.

Canon Pixma MG5220 : Scanner sans encre

Canon Pixma MG5220 : Scanner sans encre

Comment activer la numérisation sur la Canon Pixma MG5220 lorsque vous n'avez plus d'encre.

5 Raisons Pour Lesquelles Votre Ordinateur Portable Surchauffe

5 Raisons Pour Lesquelles Votre Ordinateur Portable Surchauffe

Découvrez quelques raisons possibles pour lesquelles votre ordinateur portable surchauffe, ainsi que des conseils et astuces pour éviter ce problème et garder votre appareil au frais.

Comment résoudre le code d'erreur GeForce Now 0xC272008F

Comment résoudre le code d'erreur GeForce Now 0xC272008F

Vous vous installez pour une soirée de jeu, et cela va être grand – vous venez de récupérer "Star Wars Outlaws" sur le service de streaming GeForce Now. Découvrez la seule solution connue qui vous montre comment résoudre le code d

Principes de l'impression 3D : Conseils d'entretien pour votre imprimante 3D

Principes de l'impression 3D : Conseils d'entretien pour votre imprimante 3D

L

Comment Trouver l'Adresse IP d'une Imprimante

Comment Trouver l'Adresse IP d'une Imprimante

Vous avez du mal à trouver l

Comment utiliser les AirPods avec les téléphones Samsung

Comment utiliser les AirPods avec les téléphones Samsung

Si vous hésitez à acheter des AirPods pour votre téléphone Samsung, ce guide vous aidera certainement. La question la plus évidente est de savoir si les deux sont compatibles, et la réponse est : oui !

Fix Always on Display ne fonctionne pas sur Galaxy Watch

Fix Always on Display ne fonctionne pas sur Galaxy Watch

Pour résoudre les problèmes de Always on Display sur Samsung Galaxy Watch, désactivez le mode d

La mémoire du Chromebook peut-elle être mise à niveau ?

La mémoire du Chromebook peut-elle être mise à niveau ?

Découvrez si la mémoire du Chromebook peut être mise à niveau et comment optimiser ses performances avec la gestion de la RAM.