Mémoire adressable par contenu

Mémoire adressable par contenu
Page d'aide sur l'homonymie Pour les articles homonymes, voir CAM.

La mémoire adressable par contenu (CAM, en anglais Content-Addressable Memory) est un type de mémoire informatique spécial utilisé dans certaines applications de recherche à très haute vitesse. Elle est aussi connue sous le nom de mémoire associative (associative memory, associative storage, ou associative array).

Sommaire

Tableaux associatifs matériels

Contrairement aux mémoires informatiques standard (random access memory ou RAM) pour lesquelles l'application utilisatrice fournit une adresse mémoire et la RAM retourne la donnée stockée à cette adresse, un CAM est conçu de manière à ce que l'application utilisatrice fournisse un mot de donnée et le CAM cherche dans toute sa mémoire pour voir si ce mot y est stocké. Si le mot est trouvé, le CAM retourne une liste d'une ou plusieurs adresses où le mot a été trouvé (et dans certaines architectures, il renvoie également le mot de donnée, ou d'autres morceaux de données associées). Ainsi, un CAM est l'équivalent matériel de ce que l'on appelle un tableau associatif en logiciel.

Implémentations Semiconducteur

Parce qu'un CAM est conçu pour chercher dans toute sa mémoire en une seule opération, il est plus rapide que la RAM, dans toutes les applications de recherche. Le revers de la médaille, est qu'au contraire de la RAM, chip, qui a des cellules de stockage simples, chaque bit de mémoire individuel dans un CAM complètement parallèle doit avoir son propre circuit de comparaison pour détecter une correspondance entre le bit stocké et le bit d'entrée. En plus, les sorties de correspondances de chaque cellule du mot de donnée doivent être combinées pour aboutir à un signal correspondant au mot entier. La circuiterie additionnelle augmente la taille physique de la puce CAM ce qui augmente le coût de fabrication. La circuiterie supplémentaire augmente également la puissance de dissipation puisque chaque circuit de comparaison est actif à chaque cycle d'horloge. En conséquence, un CAM n'est utilisé que dans les applications spécialisées où la vitesse de recherche ne peut pas être atteinte en utilisant une méthode moins coûteuse.

Implémentations alternatives

Pour aboutir à un compromis différent entre la vitesse, la taille mémoire, et le coût, certaines implémentations émulent le fonctionnement du CAM en implémentant une recherche d'arbre standard ou une conception de hash, au niveau matériel, en utilisant des astuces matérielles comme la réplication ou le pipelining pour améliorer le rendement. Ces conceptions sont souvent utilisées dans les routeurs.

Standards pour la mémoire adressable par contenu

Une définition d'interface majeure pour les CAM et autres éléments de recherche de réseau a été spécifiée dans l’Interoperability Agreement appelé Look-Aside Interface (LA-1 et LA-1B) développé par le Network Processing Forum, qui ensuite a fusionné avec l’Optical Internetworking Forum (OIF). Beaucoup de composants ont été produits par Integrated Device Technology, Cypress Semiconductor, IBM, et d'autres firmes du LA interface agreement. Le 25 mai 2006, l’OIF a annoncé avoir initié un projet pour créer une spécification lookaside (SLA) série.

CAM ternaires

Le CAM binaire est le type le plus simple de CAM qui utilise la recherche de données ne contenant que des 1s et 0s. 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 "10XX0" qui correspondra aux recherches des mots "10000", "10010", "10100", ou "10110". La flexibilité de recherche additionnelle vient avec un coût additionnel par rapport aux CAM binaires parce que la cellule de mémoire interne doit à présent encoder les trois possibilités d'état au lieu des deux du CAM binaire. Cet état additionnel est typiquement implémenté en ajoutant un bit de masque (bit "care" ou "don't care" (quelconque)) à chaque cellule mémoire.


Exemples d'applications

La mémoire adressable par contenu est souvent utilisée dans les composants réseaux informatiques. Par exemple, lorsqu'un commutateur réseau (switch) reçoit un datagramme de l'un de ses ports, il met à jour une table interne avec la source du paquet adresse MAC et le port d'entrée. Il recherche alors l'adresse MAC de destination dans la table pour déterminer vers quel port le datagramme doit être transmis, et l'envoie sur ce port. La table d'adresse MAC est usuellement implémentée par un CAM binaire en sorte que le port de destination puisse être trouvé très rapidement, réduisant la latence du switch.

Les CAM ternaires sont souvent utilisés dans les routeurs, où chaque adresse est composée de deux parties : l'adresse du réseau, dont la taille peut varier en fonction de la configuration du sous-réseau, et l'adresse de la machine, qui occupe les bits restants. Chaque sous-réseau a un masque réseau qui spécifie quels bits de l'adresse identifient le réseau et quels bits identifient la machine. Le routage est fait en consultant une table de routage maintenue par le routeur qui contient chaque réseau de destination connu, le masque réseau associé, et l'information nécessaire pour acheminer les datagrammes à ces destinations. Sans CAM, un routeur doit comparer les adresses de destination du datagramme à acheminer avec chaque entrée de la table de routage, effectuant un ET bit-à-bit avec le masque réseau et en comparant avec l'adresse réseau. S’ils sont égaux, l'information acheminement correspondant est utilisée pour réexpédier le datagramme. En utilisant un CAM ternaire pour la table de routage on rend la tâche de recherche beaucoup plus efficace. Les adresses sont enregistrées en spécifiant quels bits machine sont quelconques, et donc la recherche dans le CAM renvoie immédiatement l'entrée de routage correcte ; à la fois le masque et la comparaison sont effectués par le matériel CAM.

Parmi les autres applications CAM on recense :

Voir aussi

Bibliographie

  • Anargyos Krikelis, Charles C. Weems (editors) (1997) Associative Processing and Processors, IEEE Computer Science Press. ISBN 0-8186-7661-2

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Mémoire adressable par contenu de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Memoire adressable par contenu — Mémoire adressable par contenu Pour les articles homonymes, voir CAM. La mémoire adressable par contenu (CAM, en anglais Content Addressable Memory) est un type de mémoire informatique spécial utilisé dans certaines applications de recherche à… …   Wikipédia en Français

  • Mémoire Adressable Par Contenu — Pour les articles homonymes, voir CAM. La mémoire adressable par contenu (CAM, en anglais Content Addressable Memory) est un type de mémoire informatique spécial utilisé dans certaines applications de recherche à très haute vitesse. Elle est… …   Wikipédia en Français

  • Mémoire (informatique) — Pour les articles homonymes, voir mémoire. Mémoire vive pour ordinateur VAX 8600 (1986). En informatique la mémoire …   Wikipédia en Français

  • MÉMOIRE — La mémoire est la propriété de conserver et de restituer des informations. Cette propriété n’est pas exclusivement propre à l’homme. Celui ci la partage avec les organismes vivants et certaines machines, de sorte qu’il est nécessaire de préciser… …   Encyclopédie Universelle

  • Memoire virtuelle — Mémoire virtuelle En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il est basé sur l utilisation d une mémoire de masse (type disque dur ou anciennement un tambour), pour le but, entre autres, de… …   Wikipédia en Français

  • Mémoire Virtuelle — En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il est basé sur l utilisation d une mémoire de masse (type disque dur ou anciennement un tambour), pour le but, entre autres, de permettre à des… …   Wikipédia en Français

  • Mémoire virtuelle — Schéma de principe de la mémoire virtuelle En informatique, le mécanisme de mémoire virtuelle, ou swap, a été mis au point dans les années 1960. Il repose sur l utilisation d une mémoire de masse (type disque dur ou anciennement un tambour), dans …   Wikipédia en Français

  • Content addressable memory — Mémoire adressable par contenu Pour les articles homonymes, voir CAM. La mémoire adressable par contenu (CAM, en anglais Content Addressable Memory) est un type de mémoire informatique spécial utilisé dans certaines applications de recherche à… …   Wikipédia en Français

  • CONCEPTION ASSISTÉE PAR ORDINATEUR — La conception assistée par ordinateur, ou C.A.O., peut être considérée comme l’ensemble des aides informatiques aux bureaux d’études et aux bureaux des méthodes. Elle concerne donc le processus conception fabrication depuis l’élaboration du… …   Encyclopédie Universelle

  • Tableau associatif — En informatique, un tableau associatif (aussi appelé dictionnaire ou table d association) est un type de données associant à un ensemble de clefs un ensemble correspondant de valeurs. Chaque clef est associée à une valeur : un tableau… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”