Vad är innehållsadresserbart minne?

Content-addressable memory (CAM) är en typ av datorminne som är specialiserad på sökoperationer; detta har använts som hårdvara och som en datastruktur, men är oftare hårdvara. Till skillnad från RAM (Random Access Memory), som fungerar genom att titta på en viss adress, hittar innehållsadresserbart minne ett ord i hela strukturen. CAM är vanligtvis mycket snabbare än RAM, eftersom det utför hela denna sökning i en klockcykel, men från och med 2011 kostar det mycket mer att tillverka. Detta minne är vanligtvis större än RAM, men färre transistorer krävs. Dess ökade kostnad innebär att CAM vanligtvis används som extra minne i viloläge eller läggs till specialiserade datorer.

RAM och innehållsadresserbart minne fungerar på liknande sätt genom att de båda söker upp data, men de gör det på olika sätt. När någon söker med RAM pekar användaren mot en minnesadress och RAM hämtar information från den adressen. Med CAM tillhandahåller användaren det han eller hon letar efter, och CAM söker igenom alla minnesadresser och returnerar alla instanser av sökfrågan. CAM kan också returnera liknande dataord, eftersom de kan vara användbara.

CAM söker igenom alla minnesadresser i en klockcykel, istället för att söka bara en minnesadress, så det är vanligtvis snabbare än RAM. Även om det är snabbare kostar innehållsadresserbart minne mer eftersom det kräver fler kretsar än RAM. Detta minne använder också mer kraft totalt sett, eftersom det söker efter många fler adresser samtidigt och mer kraft behövs för att stödja denna funktion.

CAM är vanligtvis större än RAM, på grund av de många kretsar som behövs för att innehållsadresserbart minne ska fungera korrekt. De flesta CAM-hårdvara är ungefär lika stora som en CD-skiva och hårdvaran tenderar att vara cirkulär. Samtidigt behöver den ungefär hälften av de transistorer som RAM behöver, eftersom celler kan dela en transistor.

Dess begränsningar innebär att CAM vanligtvis inte används som huvudminne, även om det är snabbare. Istället används den för att komplettera RAM-funktioner, särskilt under viloläge. Detta hindrar datorn från att glömma eller förlora data under en längre viloläge och tenderar att använda mindre ström än RAM-minnet gör i viloläge. Vissa specialiserade datorer använder CAM som den primära minneskällan, men dessa släpps ofta inte ut till allmänheten på grund av deras höga kostnader. Dessa specialiserade datorer har vanligtvis enorma databaser som inte kan genomsökas tillräckligt med RAM, vilket tvingar användaren att förlita sig på CAM.