Wat is associatief geheugen?

Het meeste geheugen wordt op dezelfde manier opgeslagen en geopend. Inhoud wordt opgeslagen en vervolgens opgehaald met behulp van een geheugenadres. Dit is over het algemeen nuttig en wordt bijna universeel gebruikt. Helaas is er een klein probleem met deze manier van opbergen. Het is prima als u weet waar de gegevens die u nodig heeft, zijn opgeslagen. Het werkt niet goed als u naar een specifiek item wilt zoeken.

Stel dat u een bestand wilt vinden; je herinnert je de naam, maar niet welke map je hebt opgeslagen. Uw computer kan naar de bestandsnaam zoeken, maar tenzij u deze onlangs hebt gebruikt, is deze vaak vrij traag bij het uitvoeren van de zoekopdracht. En dat houdt er rekening mee dat bestandssystemen worden opgeslagen als bestandsnamen en -adressen.

Associatief geheugen, ook wel bekend als Content Addressable Memory of CAM, is ontworpen om te worden doorzocht op de inhoud ervan. Helaas is het implementeren van associatief geheugen erg duur. Dit betekent dat het slechts in enkele gevallen wordt gebruikt, meestal in geavanceerde netwerkhardware. Het associatieve naamgeheugen komt voort uit het feit dat het een hardware-implementatie is van een associatieve software-array.

Cel structuur

Associatief geheugen wordt alleen gebruikt waar extreem hoge prestaties nodig zijn. Als zodanig is het gebaseerd op SRAM in plaats van DRAM. Als uitgangspunt maakt dit alleen al het duur. DRAM gebruikt één transistor en één condensator per bit en SRAM gebruikt in totaal 6 transistors. Om efficiënt de inhoud van een geheugencel te doorzoeken, wordt elke cel aangepast om vergelijkingsschakelingen te hebben. Dit voegt in totaal 4 extra transistors toe aan elke cel. Dit betekent dat associatief geheugen aanzienlijk minder dicht is dan SRAM, wat al een dure vorm van opslag is.

Gebruik

Associatief geheugen is duur en exclusief geoptimaliseerd voor het matchen van op inhoud gebaseerde zoekopdrachten. Als zodanig wordt het alleen echt gebruikt op apparaten die constant dit soort zoekopdrachten moeten uitvoeren; zelfs dan is het meestal beperkt tot high-end modellen. Er zijn over het algemeen slechts twee belangrijke plaatsen waar associatief geheugen wordt gebruikt, netwerkswitches en routers.

Netwerkhardware zoals switches en routers moeten hoge prestatieniveaus bieden om meerdere gigabits netwerkverkeer constant door te laten stromen. Binnen een netwerk worden MAC-adressen gebruikt om verkeer te routeren. Een switch weet naar welke van de vele netwerkpoorten gegevens moeten worden verzonden, zodat deze bij het apparaat met het juiste MAC-adres terechtkomt. Om ervoor te zorgen dat elk pakket naar de juiste plaats wordt verzonden, wordt naar het MAC-adres van de bestemming gezocht. In een traditioneel geheugenformaat zou dat enige tijd kosten, wat bijdraagt ​​aan de latentie van elke netwerkcommunicatie. Met associatief geheugen kan dat zoeken veel sneller.

Binair en Ternair

Het meeste associatieve geheugen is gebaseerd op binair, maar sommige zijn gebaseerd op ternair. Een ternaire associatieve geheugencel is vergelijkbaar met de hierboven beschreven binaire. In plaats van één SRAM-cel heeft het er echter twee. Beide hebben dan samen de vier extra transistors die nodig zijn om de vergelijking uit te voeren. Dit maakt het ternaire associatieve geheugen natuurlijk nog duurder dan zijn binaire neef, dus waar wordt het voor gebruikt?

Het tweede bit van de ternaire cel geeft 'zorg' of 'maakt niet uit' aan. Dit voegt een derde status toe aan de cel en de algehele zoekfunctie. Het kan nu een 1, 0 of X opslaan voor maakt niet uit. Dit is met name handig bij netwerkrouteringstabellen op basis van subnetmaskers met variabele lengte en bij toegangscontrolelijsten. In beide gevallen kunt u meerdere positieve reacties krijgen op één zoekadres. Binnen beide wil je alleen kennis nemen van de meest precieze instructie.

Als zodanig kan een zoekopdracht naar 192.168.20.19 overeenkomen met de volgende regels 192.168.20.16/28 en 192.168.0.0/16. Als u een standaard binaire zoekopdracht zou uitvoeren, zou u berekeningen moeten uitvoeren om te verifiëren dat het adres binnen de opgegeven adresbereiken valt. Met ternaire logica kunt u echter in één handeling bepalen of uw zoekadres overeenkomt met 192.168.xx. U kunt ook vaststellen dat de /28-overeenkomst veel nauwkeuriger is dan de /16-overeenkomst, omdat er minder "don't care"-bits zijn. Hierdoor kunt u bij voorkeur de gerelateerde regels voor toegangscontrole toepassen.

Omdat ternair associatief geheugen nog duurder is dan de binaire vorm, komt het nog minder vaak voor. Het is over het algemeen alleen te vinden in top-end routers en meerlaagse switches.

Conclusie

Associatief geheugen is een vorm van geheugen die heel anders werkt dan standaardgeheugen. In plaats van de gegevens op te vragen die op een specifiek adres zijn opgeslagen, doorzoekt het in één keer het hele geheugen op overeenkomsten met een zoekterm. Om dit met hoge prestatieniveaus te bereiken, zijn geheugencellen gebaseerd op een gewijzigde vorm van SRAM met een of twee SRAM-cellen gecombineerd met vier extra transistors die worden gebruikt om de bitvergelijkingslogica uit te voeren.

Enkele SRAM-cellen worden gebruikt in binair associatief geheugen, terwijl twee SRAM-cellen worden gebruikt in ternair associatief geheugen. Bij de ternaire variant kan een derde waarde worden opgeslagen, meestal een 1, 0 of "maakt niet uit". Hierdoor kan inhoud aangeven dat deze moet overeenkomen, zelfs als de zoekterm niet nauwkeurig is.

Omdat associatieve geheugencellen gebaseerd zijn op het dure SRAM, zijn ze duur, waarbij ternair het duurst is. Vanwege dit en omdat de structuur expliciet is geoptimaliseerd voor zoeken op inhoud, wordt associatief geheugen in de meeste apparaten niet gebruikt.

Alleen apparaten die er bijzonder van profiteren en waarbij de prestaties opwegen tegen de kosten vooraf, beschikken over deze functie. Als zodanig wordt het meestal uitsluitend aangetroffen in netwerkhardware van ondernemingsniveau. Binnen die instelling wordt het vaak CAM en TCAM genoemd, respectievelijk voor Content Addressable Memory en Ternary Content Addressable Memory.



Leave a Comment

Hoe een harde schijf te klonen

Hoe een harde schijf te klonen

In het moderne digitale tijdperk, waarin gegevens een waardevol bezit zijn, kan het klonen van een harde schijf op Windows voor velen een cruciaal proces zijn. Deze uitgebreide gids

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Krijgt u tijdens het opstarten van uw computer de foutmelding dat het stuurprogramma WUDFRd niet op uw computer kan worden geladen?

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Ervaar je NVIDIA GeForce-ervaring met foutcode 0x0003 op je desktop? Zo ja, lees dan de blog om te zien hoe u deze fout snel en eenvoudig kunt oplossen.

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

Het kan vervelend zijn om te maken te krijgen met buigingen aan de onderkant van een afdruk. Hier ziet u hoe u de olifantenpoot kunt repareren in 3D-printen.

Basisprincipes van 3D-printen: hechting van het printerbed

Basisprincipes van 3D-printen: hechting van het printerbed

Leren over 3D-printen? Dit is wat u moet weten over ahesie van het printerbed.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Fix Roku speelt geen audio of video af

Fix Roku speelt geen audio of video af

Als Roku geen audio of video afspeelt, biedt deze gids voor probleemoplossing u een reeks handige oplossingen om het probleem op te lossen.

Fix Roku-kanaal kon inhoud niet laden

Fix Roku-kanaal kon inhoud niet laden

Als Roku een foutmelding geeft dat de inhoud op de kanalen niet kan worden geladen, kunt u uw apparaat opnieuw opstarten of een nieuw account maken.

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Als uw Chromebook het afdrukvoorbeeld niet kan laden, start u uw laptop, printer en router opnieuw op. Verwijder bovendien de printer en installeer deze opnieuw.

Een GPU verwijderen van een Windows-pc in 2023

Een GPU verwijderen van een Windows-pc in 2023

Moet u de GPU van uw pc verwijderen? Ga met me mee terwijl ik uitleg hoe je een GPU van je pc verwijdert in deze stapsgewijze handleiding.