Content addressable memory

Content addressable memory

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 telle 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). Donc, 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 booster 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 switch réseau 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

  • Associative array

Bibliographie

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

Liens externes


  • Portail de l’électricité et de l’électronique Portail de l’électricité et de l’électronique
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « M%C3%A9moire adressable par contenu ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Content addressable memory de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Content-addressable memory — (CAM) is a special type of computer memory used in certain very high speed searching applications. It is also known as associative memory, associative storage, or associative array, although the last term is more often used for a programming data …   Wikipedia

  • content addressable memory — asociatyvioji atmintis statusas T sritis informatika apibrėžtis ↑Atmintis, kurioje duomenys randami pagal jų turinį, bet ne pagal adresus. Turinys atspindimas ryšiais tarp duomenų. Iš kiekvieno duomens srities eina saitai į kitų su juo susijusių… …   Enciklopedinis kompiuterijos žodynas

  • Content Addressable Memory — Ein Assoziativspeicher oder auch inhaltsadressierbarer Speicher (engl. Content Addressable Memory, CAM) ist eine Speicherform, bei der mit der Assoziation von Inhalten gearbeitet wird, um auf einzelne Speicherinhalte zuzugreifen. Bereits 1943… …   Deutsch Wikipedia

  • content addressable memory —    (CAM)    A memory device that stores and retrieves data based on a key value as opposed to an address or name …   IT glossary of terms, acronyms and abbreviations

  • Content-addressable storage — Content addressable storage, also referred to as associative storage or abbreviated CAS, is a mechanism for storing information that can be retrieved based on its content, not its storage location. It is typically used for high speed storage and… …   Wikipedia

  • Content Addressable Parallel Processor — A Content Addressable Parallel Processor (CAPP) is a type of parallel processor which uses content addressing memory (CAM) principles. CAPPs are intended for bulk computation. The syntactic structure of their computing algorithm are simple,… …   Wikipedia

  • Content Addressable File Store — The Content Addressable File Store (CAFS) was a hardware device developed by International Computers Limited (ICL) that provided a disk storage with built in search capability. The motivation for the device was the discrepancy between the high… …   Wikipedia

  • Memory disambiguation — is a set of techniques employed by high performance out of order execution microprocessors that execute memory access instructions (loads and stores) out of program order. The mechanisms for performing memory disambiguation, implemented using… …   Wikipedia

  • Content processor — Content processors are sometimes confused with network processors that inspect the packet payload of an IP packet travelling through a computer network. These components allow for the design and deployment of next generation networking systems… …   Wikipedia

  • Volatile memory — Memory typesVolatile memory, also known as volatile storage or primary storage device, is computer memory that requires power to maintain the stored information, unlike non volatile memory which does not require a maintained power supply.Most… …   Wikipedia

Share the article and excerpts

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