Content-Adressable Memory (CAM) är en typ av datorminne som har åtkomst till data baserat på dess *innehåll *snarare än dess *adress *. Istället för att tillhandahålla en adress för att hämta en specifik dataobjekt tillhandahåller du själva uppgifterna (eller en del av den), och CAM returnerar adressen (ES) där den informationen lagras.
Här är en uppdelning av dess viktigaste egenskaper:
* Associerande åtkomst: Detta är den definierande funktionen. Sökningen utförs genom att matcha inmatningsdata med innehållet på minnesplatser, snarare än att använda en adress.
* Parallell sökning: CAM:er utför vanligtvis sökningar parallellt på alla minnesplatser samtidigt. Detta gör dem betydligt snabbare än traditionell RAM för sökning.
* Flera matcher: En enda sökning kan potentiellt returnera flera adresser om de angivna data finns på flera platser.
* Högre kostnad och lägre densitet: Kameror är i allmänhet dyrare och mindre täta (färre bitar per utrymme) än traditionellt RAM. Detta beror på de mer komplexa kretsarna som behövs för parallella jämförelser.
Hur det fungerar:
Föreställ dig en tabell med två kolumner:en för data och en för motsvarande adress. I en kamera skulle du mata in data i ett söknyckelregister. Kammen jämför sedan denna nyckel med de data som lagras på alla platser samtidigt. Om en match hittas matas motsvarande adress.
Användningsfall:
Kameror är särskilt fördelaktiga i applikationer som kräver snabba sökningar:
* Network Routers: Slå upp IP -adresser för destination för att bestämma lämplig vidarebefordringsväg.
* Höghastighetsmönstermatchning: Hitta specifika sekvenser inom stora datasätt (t.ex. i genomik eller säkerhet).
* Cache Memories: Förbättra hastigheten för åtkomst till ofta använda data.
* databassystem: Påskynda sökningar baserade på specifika kriterier.
* Artificiell intelligens: Används i neurala nätverk och andra AI -system för snabba sökningar och föreningar.
Jämförelse med RAM:
| Funktion | RAM (slumpmässigt åtkomstminne) | CAM (innehåll-adresserbart minne) |
| ----------------- | ------------------------------------------------------------------------------------- |
| Åtkomstmetod | Adressbaserad | Innehållsbaserat |
| Sökhastighet | Sekventiell (relativt långsammare) | Parallell (mycket snabbare för sökningar) |
| Kostnad | Nedre | Högre |
| Densitet | Högre | Nedre |
| Flera matcher | Inte i sig stöds | Stöds |
Sammanfattningsvis är CAM en specialiserad minnesteknologi som utmärker sig vid snabba sökningar baserat på datainnehåll, vilket gör det värdefullt i applikationer där hastighet och parallella jämförelser är av största vikt, även till kostnaden för högre kostnad och lägre densitet jämfört med konventionell RAM.