Kaj je asociativni spomin?

Večina pomnilnika je shranjena in dostopna na enak način. Vsebina se shrani in nato pridobi z uporabo pomnilniškega naslova. To je na splošno uporabno in se skoraj povsod uporablja. Na žalost obstaja majhna težava s tem slogom shranjevanja. Odlično je, če veste, kje so shranjeni podatki, ki jih potrebujete. Ne deluje dobro, če želite iskati določen vnos.

Recimo, da želite najti datoteko; spomnite se njegovega imena, ne pa tudi mape, ki ste jo shranili. Vaš računalnik lahko išče po imenu datoteke, vendar je pogosto zelo počasen pri izvajanju iskanja, razen če ga uporabljate pred kratkim. In to ob upoštevanju, da so datotečni sistemi shranjeni kot imena datotek in naslovi.

Asociativni pomnilnik, znan tudi kot Content Addressable Memory ali CAM, je zasnovan za iskanje po vsebini. Na žalost je implementacija asociativnega pomnilnika zelo draga. To pomeni, da se uporablja le v nekaj primerih, običajno v vrhunski omrežni opremi. Asociativni pomnilnik imen izhaja iz dejstva, da je strojna izvedba asociativnega programskega polja.

Struktura celice

Asociativni pomnilnik se uporablja samo tam, kjer je potrebna izjemno visoka zmogljivost. Kot tak temelji na SRAM-u in ne na DRAM-u. Kot izhodišče je samo to drago. DRAM uporablja en tranzistor in en kondenzator na bit, SRAM pa uporablja skupno 6 tranzistorjev. Za učinkovito iskanje vsebine pomnilniške celice je vsaka celica spremenjena tako, da ima primerjalno vezje. To doda skupaj še 4 tranzistorje vsaki celici. To pomeni, da je asociativni pomnilnik bistveno manj gost kot SRAM, ki je že tako draga oblika shranjevanja.

Uporaba

Asociativni pomnilnik je drag in optimiziran izključno za iskanje po vsebini. Kot tak se resnično uporablja le v napravah, ki morajo nenehno izvajati to vrsto iskanja; tudi takrat je običajno omejen na vrhunske modele. Na splošno obstajata samo dve glavni mesti, kjer se uporablja asociativni pomnilnik, omrežna stikala in usmerjevalniki.

Omrežna strojna oprema, kot so stikala in usmerjevalniki, mora nuditi visoko zmogljive ravni, da neprekinjeno pretaka več gigabitov omrežnega prometa. Znotraj omrežja se naslovi MAC uporabljajo za usmerjanje prometa. Stikalo bo vedelo, na katera od številnih omrežnih vrat je treba poslati podatke, da bo prišlo do naprave s pravilnim naslovom MAC. Za zagotovitev, da je vsak paket poslan na pravo mesto, se poišče njegov ciljni naslov MAC. V tradicionalni pomnilniški obliki bi to trajalo nekaj časa, kar bi povečalo zakasnitev vsake omrežne komunikacije. Z asociativnim spominom je lahko to iskanje veliko hitrejše.

Binarno in trojno

Večina asociativnega pomnilnika temelji na binarnem, nekateri pa na trojnem. Ternarna asociativna spominska celica je podobna binarni, opisani zgoraj. Namesto ene celice SRAM pa ima dve. Oba skupaj imata štiri dodatne tranzistorje, potrebne za izvedbo primerjave. Zaradi tega je ternarni asociativni pomnilnik seveda še dražji od njegovega binarnega bratranca, za kaj se torej uporablja?

Drugi bit trojne celice označuje »skrb« ali »ne skrbi«. To celici in splošni funkciji iskanja doda tretje stanje. Zdaj lahko shrani 1, 0 ali X za »ne skrbi«. To je še posebej uporabno pri delu z omrežnimi usmerjevalnimi tabelami, ki temeljijo na podomrežnih maskah spremenljive dolžine, in s seznami za nadzor dostopa. Morda imate več pozitivnih odgovorov na en iskalni naslov v obeh. Znotraj obeh si želite upoštevati le najbolj natančna navodila.

Kot tako se lahko iskanje 192.168.20.19 ujema z naslednjima praviloma 192.168.20.16/28 in 192.168.0.0/16. Če bi izvajali standardno binarno iskanje, bi morali opraviti izračune, da bi preverili, ali naslov spada v navedena obsega naslovov. Vendar pa lahko s ternarno logiko ugotovite, ali se vaš iskalni naslov ujema z 192.168.xx v eni sami operaciji. Ugotovite lahko tudi, da je ujemanje /28 veliko natančnejše od ujemanja /16, ker je manj bitov »ne zanima me«. To vam omogoča prednostno uporabo povezanih pravil za nadzor dostopa.

Ker je ternarni asociativni pomnilnik še dražji od binarne oblike, je še manj pogost. Na splošno ga je mogoče najti le v vrhunskih usmerjevalnikih in večplastnih stikalih.

Zaključek

Asociativni spomin je oblika spomina, ki deluje zelo drugače od standardnega spomina. Namesto da bi zahteval podatke, shranjene na določenem naslovu, naenkrat preišče celoten pomnilnik za ujemanja z iskalnim izrazom. Da bi to dosegli z visoko zmogljivostjo, pomnilniške celice temeljijo na modificirani obliki SRAM, ki vsebuje eno ali dve celici SRAM v kombinaciji s štirimi dodatnimi tranzistorji, ki se uporabljajo za izvajanje bitne primerjalne logike.

Posamezne celice SRAM se uporabljajo v binarnem asociativnem pomnilniku, medtem ko se dve celici SRAM uporabljata v ternarnem asociativnem pomnilniku. Trojna različica omogoča shranjevanje tretje vrednosti, običajno 1, 0 ali »ne skrbi«. To omogoča vsebini, da pokaže, da bi se morala ujemati, tudi če iskalni izraz ni natančen.

Ker asociativne pomnilniške celice temeljijo na dragem SRAM-u, so drage, pri čemer je ternarni najdražji. Zaradi tega in njegove strukture, ki je izrecno optimizirana za iskanje po vsebini, se asociativni pomnilnik v večini naprav ne uporablja.

Imajo ga samo naprave, ki jim to še posebej koristi in kjer zmogljivost odtehta vnaprejšnje stroške. Kot takega se običajno nahaja izključno v omrežni strojni opremi poslovnega razreda. Znotraj te nastavitve se pogosto imenuje CAM in TCAM za Content Addressable Memory oziroma Ternary Content Addressable Memory.


Leave a Comment

Kako povezati prenosni računalnik Windows 11 s projektorjem/TV

Kako povezati prenosni računalnik Windows 11 s projektorjem/TV

Preberite ta članek, da se naučite preprostega postopka povezovanja prenosnega računalnika s projektorjem ali TV na operacijskih sistemih Windows 11 in Windows 10.

Kako najti IP naslov tiskalnika

Kako najti IP naslov tiskalnika

Imate težave pri iskanju IP naslova vašega tiskalnika? Pokažemo vam, kako ga najti.

Kako odpraviti napako GeForce Now s kodo 0xC272008F

Kako odpraviti napako GeForce Now s kodo 0xC272008F

Pripravljate se na večer igranja in to bo velika noč – ravno ste prevzeli "Star Wars Outlaws" na pretočni storitvi GeForce Now. Odkrijte edino znano rešitev, ki vam pokaže, kako odpraviti napako GeForce Now s kodo 0xC272008F, da se lahko spet igralite Ubisoftove igre.

Osnove 3D tiskanja: Nasveti za vzdrževanje vašega 3D tiskalnika

Osnove 3D tiskanja: Nasveti za vzdrževanje vašega 3D tiskalnika

Ohranjanje vaših 3D tiskalnikov je zelo pomembno za dosego najboljših rezultatov. Tukaj je nekaj pomembnih nasvetov, ki jih je treba upoštevati.

Kako namestiti SSD na namizne in prenosne računalnike

Kako namestiti SSD na namizne in prenosne računalnike

Ste pravkar kupili SSD in upate, da nadgradite notranji pomnilnik svojega računalnika, vendar ne veste, kako namestiti SSD? Preberite ta članek zdaj!

Kaj storiti, če Powerbeats Pro ne napolni v ohišju

Kaj storiti, če Powerbeats Pro ne napolni v ohišju

Če vaši Powerbeats Pro ne napolnijo, uporabite drug vir napajanja in očistite slušalke. Pustite ohišje odprto med polnjenjem slušalk.

5 Razlogov, zakaj se vaš prenosni računalnik pregreva

5 Razlogov, zakaj se vaš prenosni računalnik pregreva

Odkrijte možne razloge, zakaj se vaš prenosni računalnik pregreva, skupaj s nasveti za preprečevanje te težave in ohranjanje hladnosti naprav.

10 Najboljših NAS naprava za shranjevanje za dom in profesionalno uporabo

10 Najboljših NAS naprava za shranjevanje za dom in profesionalno uporabo

Ne glede na to, ali iščete NAS za svoj dom ali pisarno, si oglejte ta seznam najboljših naprav za shranjevanje NAS.

Osnove 3D tiska: Seznam vzdrževanja, ki ga morate prebrati

Osnove 3D tiska: Seznam vzdrževanja, ki ga morate prebrati

Ohranjanje vaše opreme v dobrem stanju je obvezno. Tukaj je nekaj koristnih nasvetov za vzdrževanje vašega 3D tiskalnika v vrhunskem stanju.

Canon Pixma MG5220: Skeniranje Brez Tinta

Canon Pixma MG5220: Skeniranje Brez Tinta

Kako omogočiti skeniranje na Canon Pixma MG5220, ko zmanjka tinte.