Što je asocijativna memorija?

Većina memorije pohranjuje se i pristupa joj se na isti način. Sadržaj se sprema i zatim dohvaća pomoću memorijske adrese. Ovo je općenito korisno i koristi se gotovo univerzalno. Nažalost, postoji mali problem s ovim stilom pohrane. Izvrsno je ako znate gdje su pohranjeni podaci koji vam trebaju. Ne radi dobro ako želite pretraživati ​​određeni unos.

Recimo da želite pronaći datoteku; sjećate se njegovog naziva, ali ne i koju ste mapu spremili. Vaše računalo može tražiti naziv datoteke, ali osim ako ga niste nedavno koristili, često je prilično sporo u izvođenju pretrage. I to uzimajući u obzir da su datotečni sustavi pohranjeni kao nazivi datoteka i adrese.

Asocijativna memorija, također poznata kao Content Addressable Memory ili CAM, dizajnirana je za pretraživanje prema svom sadržaju. Nažalost, implementacija asocijativne memorije je vrlo skupa. To znači da se koristi samo u nekoliko slučajeva, obično u vrhunskom mrežnom hardveru. Asocijativna memorija imena dolazi iz činjenice da je to hardverska implementacija asocijativnog softverskog niza.

Struktura stanice

Asocijativna memorija koristi se samo tamo gdje su potrebne izuzetno visoke performanse. Kao takav, temelji se na SRAM-u, a ne na DRAM-u. Kao početnu točku, samo to ga čini skupim. DRAM koristi jedan tranzistor i jedan kondenzator po bitu, a SRAM koristi ukupno 6 tranzistora. Za učinkovito pretraživanje sadržaja memorijske ćelije, svaka ćelija je modificirana tako da ima sklop za usporedbu. Ovo dodaje ukupno još 4 tranzistora svakoj ćeliji. To znači da je asocijativna memorija znatno manje gusta od SRAM-a, koji je već skup oblik pohrane.

Korištenje

Asocijativna memorija je skupa i optimizirana isključivo za podudaranje pretraživanja temeljenog na sadržaju. Kao takav, stvarno se koristi samo u uređajima koji stalno moraju izvoditi ovu vrstu pretraživanja; čak i tada, obično je ograničen na vrhunske modele. Općenito postoje samo dva glavna mjesta na kojima se koristi asocijativna memorija, mrežni preklopnici i usmjerivači.

Mrežni hardver kao što su preklopnici i usmjerivači moraju nuditi visoke razine performansi kako bi više gigabita mrežnog prometa stalno teklo. Unutar mreže, MAC adrese se koriste za usmjeravanje prometa. Prekidač će znati na koji od brojnih mrežnih priključaka treba poslati podatke kako bi došao do uređaja s ispravnom MAC adresom. Kako bi se osiguralo da je svaki paket poslan na pravo mjesto, traži se njegova odredišna MAC adresa. U tradicionalnom memorijskom formatu, to bi potrajalo neko vrijeme, povećavajući kašnjenje svake mrežne komunikacije. S asocijativnom memorijom ta pretraga može biti mnogo brža.

Binarno i ternarno

Većina asocijativne memorije temelji se na binarnoj memoriji, ali neke se temelje na ternarnoj. Ternarna asocijativna memorijska ćelija slična je binarnoj onoj opisanoj gore. Međutim, umjesto jedne SRAM ćelije, ima dvije. Oba tada zajedno imaju četiri dodatna tranzistora potrebna za izvođenje usporedbe. Ovo, naravno, čini ternarnu asocijativnu memoriju još skupljom od svoje binarne rođakinje, pa za što se koristi?

Drugi bit ternarne ćelije označava "briga" ili "nije briga". Ovo dodaje treće stanje ćeliji i ukupnoj funkciji pretraživanja. Sada može pohraniti 1, 0 ili X za nije me briga. Ovo je osobito korisno kada se radi s tablicama mrežnog usmjeravanja temeljenim na podmrežnim maskama promjenjive duljine i s popisima kontrole pristupa. Možete imati više pozitivnih odgovora na jednu adresu za pretraživanje u oba. U oba, želite samo zabilježiti najpreciznije upute.

Kao takva, pretraga za 192.168.20.19 može odgovarati sljedećim pravilima 192.168.20.16/28 i 192.168.0.0/16. Ako ste izvodili standardno binarno pretraživanje, morali biste izvršiti izračune kako biste potvrdili da adresa spada unutar navedenih raspona adresa. S ternarnom logikom, međutim, možete odrediti odgovara li vaša adresa pretraživanja 192.168.xx u jednoj operaciji. Također možete utvrditi da je podudaranje /28 puno preciznije od podudaranja /16 jer ima manje "ne zanima" bitova. To vam omogućuje preferencijalnu primjenu povezanih pravila kontrole pristupa.

Budući da je ternarna asocijativna memorija još skuplja od binarne forme, još je rjeđa. Općenito se može naći samo u vrhunskim usmjerivačima i višeslojnim preklopnicima.

Zaključak

Asocijativno pamćenje je oblik pamćenja koji funkcionira vrlo drugačije od standardnog pamćenja. Umjesto da traži podatke pohranjene na određenoj adresi, pretražuje cijelu memoriju odjednom tražeći podudaranja s traženim pojmom. Da bi se to postiglo s visokim razinama performansi, memorijske ćelije temelje se na modificiranom obliku SRAM-a koji sadrži jednu ili dvije SRAM ćelije u kombinaciji s četiri dodatna tranzistora koji se koriste za izvođenje logike usporedbe bitova.

Pojedinačne SRAM ćelije koriste se u binarnoj asocijativnoj memoriji, dok se dvije SRAM ćelije koriste u ternarnoj asocijativnoj memoriji. Ternarna varijanta omogućuje pohranjivanje treće vrijednosti, obično 1, 0 ili "nije me briga". To omogućuje sadržaju da pokaže da bi trebao odgovarati čak i ako pojam za pretraživanje nije precizan.

Budući da se asocijativne memorijske ćelije temelje na skupom SRAM-u, one su skupe, a ternarne su najskuplje. Zbog toga i njegove strukture koja je eksplicitno optimizirana za pretraživanje po sadržaju, asocijativna memorija se ne koristi u većini uređaja.

Imaju ga samo uređaji koji imaju posebne koristi od toga i kod kojih performanse nadmašuju početnu cijenu. Kao takav, obično se nalazi isključivo u mrežnom hardveru poslovne razine. Unutar te postavke, često se naziva CAM i TCAM, za Content Addressable Memory odnosno Ternary Content Addressable Memory.


Kako klonirati tvrdi disk

Kako klonirati tvrdi disk

U modernom digitalnom dobu, gdje su podaci dragocjena imovina, kloniranje tvrdog diska u sustavu Windows za mnoge može biti ključan proces. Ovaj sveobuhvatni vodič

Kako popraviti upravljački program WUDFRd koji se nije učitao u sustavu Windows 10?

Kako popraviti upravljački program WUDFRd koji se nije učitao u sustavu Windows 10?

Jeste li suočeni s porukom o pogrešci tijekom pokretanja računala koja kaže da se upravljački program WUDFRd nije uspio učitati na vašem računalu?

Kako popraviti šifru pogreške NVIDIA GeForce Experience 0x0003

Kako popraviti šifru pogreške NVIDIA GeForce Experience 0x0003

Imate li NVIDIA GeForce iskustvo s kodom pogreške 0x0003 na radnoj površini? Ako da, pročitajte blog kako biste saznali kako brzo i jednostavno popraviti ovu pogrešku.

Što je SMPS?

Što je SMPS?

Naučite što je SMPS i značenje različitih ocjena učinkovitosti prije nego što odaberete SMPS za svoje računalo.

Zašto se moj Chromebook ne uključuje

Zašto se moj Chromebook ne uključuje

Pronađite odgovore na pitanje Zašto se moj Chromebook ne uključuje? U ovom korisnom vodiču za korisnike Chromebooka.

Kako Googleu prijaviti phishing prijevare

Kako Googleu prijaviti phishing prijevare

Pomoću ovog vodiča saznajte kako Googleu prijaviti prevaranta kako biste ga spriječili da vara druge.

Roomba staje, zapinje i okreće se – popravi

Roomba staje, zapinje i okreće se – popravi

Riješite problem u kojem vaš Roomba robot usisavač stane, zaglavi se i stalno se okreće.

Kako promijeniti grafičke postavke na Steam Decku

Kako promijeniti grafičke postavke na Steam Decku

Steam Deck nudi robusno i svestrano iskustvo igranja na dohvat ruke. Međutim, kako biste optimizirali svoje igranje i osigurali najbolje moguće

Što je sigurnost temeljena na izolaciji?

Što je sigurnost temeljena na izolaciji?

Namjeravali smo se zadubiti u temu koja postaje sve važnija u svijetu kibernetičke sigurnosti: sigurnost temeljena na izolaciji. Ovaj pristup prema

Kako koristiti Auto Clicker za Chromebook

Kako koristiti Auto Clicker za Chromebook

Danas smo namjeravali istražiti alat koji može automatizirati ponavljajuće zadatke klikanja na vašem Chromebooku: Auto Clicker. Ovaj vam alat može uštedjeti vrijeme i