Obsahem adresovatelná paměť (, zkratka CAM) je v informatice označení speciálního typu elektronické paměti, která je používána pro velmi rychlé vyhledávání požadované informace. Proto je označována též jako asociativní paměť (), někdy též asociativní pole (), avšak toto označení se spíše používá v programování pro datové struktury.Hannum et al. (2004) Obsahem adresovatelná paměť porovnává vstupní data (index, značka) s tabulkou uložených dat a vrací adresu uložených dat (v případě asociativní paměti však přímo požadovaná data).Pagiamtzis and Sheikholeslami (2006), pp. 712–713

Použití CAM paměti Příkladem použití asociativní paměti je dražší switch v počítačové síti, ve kterém je udržována tabulka MAC adres a portů (CAM paměť mají všechny switche Cisco Catalyst). Po příchodu rámce je na základě cílové MAC adresy nutno v tabulce zjistit, kterým portem má být přijatý rámec odeslán do cíle. Při použití klasických datových struktur (pole, lineární seznam, binární strom) bude pro nalezení příslušné hodnoty potřeba mnoho strojových instrukcí (a tím i mnoho taktů). Avšak při použití asociativní paměti je příslušná hodnota vrácena po jednom cyklu (taktu). Výhodou použití CAM paměti je vysoká rychlost reakce, čímž se výrazně sníží latence v síťové komunikaci. Nevýhodou je vysoká pořizovací cena CAM pamětí a jejich vysoký příkon.

TCAM Paměť CAM je možné použít i pro směrování IP datagramů v síti Internet. Pro vyhledání správného záznamu v tabulce je používána speciální varianta – TCAM paměť (). Většina dražších switchů má několik TCAM pamětí, takže lze provádět všechna hledání v tabulkách současně (příchozí a odchozí pravidla firewallu, pravidla pro QoS a směrování na L2 nebo L3). Paměť TCAM je rozšířením principu CAM paměti na ternární (třístavové) rozhodování (0, 1 a X), kde prvky 0 a 1 vyjadřují exaktní hodnotu a na stavu prvku X nezáleží. Díky třístavovosti je možné aplikovat v prohledávání CAM tabulky funkci masky sítě.

Reference

Související články Asociativní pole

Kategorie:Datové struktury Kategorie:Ukládání dat Kategorie:Přenos dat