Kas ir asociatīvā atmiņa?

Lielākā daļa atmiņas tiek saglabāta un tai var piekļūt vienādi. Saturs tiek saglabāts un pēc tam izgūts, izmantojot atmiņas adresi. Tas parasti ir noderīgi un tiek izmantots gandrīz visur. Diemžēl ar šo uzglabāšanas stilu ir neliela problēma. Tas ir lieliski, ja zināt, kur tiek glabāti nepieciešamie dati. Tas nedarbojas labi, ja vēlaties meklēt konkrētu ierakstu.

Pieņemsim, ka vēlaties atrast failu; jūs atceraties tās nosaukumu, bet ne to, kuru mapi saglabājāt. Jūsu dators var meklēt faila nosaukumu, taču, ja vien neesat to izmantojis nesen, tas bieži veic diezgan lēnu meklēšanu. Un tas tiek ņemts vērā, ka failu sistēmas tiek saglabātas kā failu nosaukumi un adreses.

Asociatīvā atmiņa, kas pazīstama arī kā Content Addressable Memory jeb CAM, ir paredzēta meklēšanai pēc tās satura. Diemžēl asociatīvās atmiņas ieviešana ir ļoti dārga. Tas nozīmē, ka to izmanto tikai dažos gadījumos, parasti augstākās klases tīkla aparatūrā. Asociatīvā nosaukuma atmiņa rodas tāpēc, ka tā ir asociatīvā programmatūras masīva aparatūras ieviešana.

Šūnu struktūra

Asociatīvā atmiņa tiek izmantota tikai tad, ja nepieciešama ārkārtīgi augsta veiktspēja. Tā pamatā ir SRAM, nevis DRAM. Sākumā tas vien padara to dārgu. DRAM izmanto vienu tranzistoru un vienu kondensatoru uz bitu, un SRAM kopā izmanto 6 tranzistorus. Lai efektīvi meklētu atmiņas šūnas saturu, katra šūna tiek pārveidota, lai tajā būtu salīdzināšanas shēma. Tādējādi katrai šūnai tiek pievienoti vēl 4 tranzistori. Tas nozīmē, ka asociatīvā atmiņa ir ievērojami mazāk blīva nekā SRAM, kas jau ir dārgs uzglabāšanas veids.

Lietošana

Asociatīvā atmiņa ir dārga, un tā ir optimizēta tikai satura meklēšanai. Tādējādi to patiešām izmanto tikai ierīcēs, kurām pastāvīgi jāveic šāda veida meklēšana; pat tad tas parasti attiecas tikai uz augstākās klases modeļiem. Parasti ir tikai divas galvenās vietas, kur tiek izmantota asociatīvā atmiņa, tīkla slēdži un maršrutētāji.

Tīkla aparatūrai, piemēram, slēdžiem un maršrutētājiem, ir jāpiedāvā augstas veiktspējas līmeņi, lai nepārtraukti plūstu vairāki gigabiti tīkla trafika. Tīklā trafika maršrutēšanai tiek izmantotas MAC adreses. Slēdzis zinās, uz kuru no daudzajiem tīkla portiem ir jānosūta dati, lai tas nonāktu ierīcē ar pareizo MAC adresi. Lai nodrošinātu, ka katra pakete tiek nosūtīta uz pareizo vietu, tiek meklēta tās mērķa MAC adrese. Tradicionālā atmiņas formātā tas aizņemtu zināmu laiku, palielinot katra tīkla komunikācijas latentumu. Izmantojot asociatīvo atmiņu, šī meklēšana var būt daudz ātrāka.

Binārais un trīskāršais

Lielākā daļa asociatīvās atmiņas ir balstītas uz bināro atmiņu, bet dažas ir balstītas uz trīskāršo atmiņu. Trīskāršā asociatīvā atmiņas šūna ir līdzīga iepriekš aprakstītajai binārajai. Tomēr tā vietā, lai būtu viena SRAM šūna, tai ir divas. Abiem kopā ir četri papildu tranzistori, kas nepieciešami salīdzināšanas veikšanai. Tas, protams, padara trīskāršo asociatīvo atmiņu vēl dārgāku nekā tās binārā māsīca, tad kam tā tiek izmantota?

Trīskāršās šūnas otrais bits norāda “rūpēties” vai “nav vienalga”. Tādējādi šūnai un vispārējai meklēšanas funkcijai tiek pievienots trešais stāvoklis. Tagad tajā var saglabāt 1, 0 vai X, lai būtu vienalga. Tas ir īpaši noderīgi, strādājot ar tīkla maršrutēšanas tabulām, kuru pamatā ir mainīga garuma apakštīkla maskas, un piekļuves kontroles sarakstiem. Jums var būt vairākas pozitīvas atbildes uz vienu meklēšanas adresi abās šajās. Abos gadījumos jūs vēlaties ņemt vērā tikai visprecīzākos norādījumus.

Tādējādi meklēšana 192.168.20.19 var atbilst šādiem noteikumiem: 192.168.20.16/28 un 192.168.0.0/16. Ja veicat standarta bināro meklēšanu, jums būs jāveic aprēķini, lai pārbaudītu, vai adrese ietilpst norādītajos adrešu diapazonos. Tomēr ar trīskāršo loģiku jūs varat noteikt, vai jūsu meklēšanas adrese atbilst 192.168.xx vienā darbībā. Varat arī noteikt, ka atbilstība /28 ir daudz precīzāka nekā atbilstība /16, jo tajā ir mazāk bitu “nav vienalga”. Tas ļauj vispirms piemērot saistītos piekļuves kontroles noteikumus.

Tā kā trīskāršā asociatīvā atmiņa ir pat dārgāka nekā binārā forma, tā ir vēl retāk sastopama. Parasti to var atrast tikai augstākās klases maršrutētājos un daudzslāņu slēdžos.

Secinājums

Asociatīvā atmiņa ir atmiņas veids, kas darbojas ļoti atšķirīgi no standarta atmiņas. Tā vietā, lai pieprasītu konkrētā adresē saglabātos datus, tā vienā reizē meklē visu atmiņā atbilstības meklēšanas vienumam. Lai to panāktu ar augstas veiktspējas līmeņiem, atmiņas šūnas ir balstītas uz modificētu SRAM formu, kurā ir viena vai divas SRAM šūnas, kas apvienotas ar četriem papildu tranzistoriem, ko izmanto bitu salīdzināšanas loģikas veikšanai.

Atsevišķas SRAM šūnas tiek izmantotas binārajā asociatīvajā atmiņā, savukārt divas SRAM šūnas tiek izmantotas trīskāršajā asociatīvajā atmiņā. Trīskāršais variants ļauj saglabāt trešo vērtību, parasti 1, 0 vai “nav vienalga”. Tas ļauj saturam norādīt, ka tam ir jāatbilst, pat ja meklēšanas vienums nav precīzs.

Tā kā asociatīvās atmiņas šūnas ir balstītas uz dārgo SRAM, tās ir dārgas, un trīskāršās ir visdārgākās. Tā kā šī un tās struktūra ir īpaši optimizēta meklēšanai pēc satura, asociatīvā atmiņa lielākajā daļā ierīču netiek izmantota.

Tas ir pieejams tikai tādās ierīcēs, kurās tas īpaši gūst labumu un kuru veiktspēja pārsniedz sākotnējās izmaksas. Kā tāds tas parasti ir atrodams tikai uzņēmuma līmeņa tīkla aparatūrā. Šajā iestatījumā to bieži dēvē par CAM un TCAM attiecīgi satura adresējamai atmiņai un trīskāršai satura adresējamai atmiņai.


Kā klonēt cieto disku

Kā klonēt cieto disku

Mūsdienu digitālajā laikmetā, kad dati ir vērtīgs īpašums, cietā diska klonēšana operētājsistēmā Windows daudziem var būt ļoti svarīgs process. Šī visaptverošā rokasgrāmata

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Vai datora palaišanas laikā tiek parādīts kļūdas ziņojums, kurā teikts, ka draiveri WUDFRd neizdevās ielādēt datorā?

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Vai darbvirsmā ir redzams NVIDIA GeForce pieredzes kļūdas kods 0x0003? Ja jā, izlasiet emuāru, lai uzzinātu, kā ātri un vienkārši novērst šo kļūdu.

Kas ir SMPS?

Kas ir SMPS?

Uzziniet, kas ir SMPS un dažādu efektivitātes reitingu nozīmi, pirms izvēlaties SMPS savam datoram.

Kas ir uz izolāciju balstīta drošība?

Kas ir uz izolāciju balstīta drošība?

Mēs gatavojāmies iedziļināties tēmā, kas kiberdrošības pasaulē kļūst arvien svarīgāka: uz izolāciju balstīta drošība. Šī pieeja, lai

Kā lietot automātisko klikšķinātāju Chromebook datoram

Kā lietot automātisko klikšķinātāju Chromebook datoram

Šodien mēs grasījāmies iedziļināties rīkā, kas var automatizēt atkārtotus klikšķināšanas uzdevumus jūsu Chromebook datorā: automātisko klikšķētāju. Šis rīks var ietaupīt laiku un

Roomba apstājas, pieturas un apgriežas — labojiet

Roomba apstājas, pieturas un apgriežas — labojiet

Novērsiet problēmu, kurā Roomba putekļsūcējs robots apstājas, pielīp un turpina griezties.

Kāpēc mans Chromebook dators neieslēdzas?

Kāpēc mans Chromebook dators neieslēdzas?

Saņemiet atbildes uz jautājumu, kāpēc mans Chromebook dators neieslēdzas? Šajā noderīgajā rokasgrāmatā Chromebook datoru lietotājiem.

Kā mainīt grafikas iestatījumus Steam klājā

Kā mainīt grafikas iestatījumus Steam klājā

Steam Deck piedāvā robustu un daudzpusīgu spēļu pieredzi, kas ir jūsu rokai. Tomēr, lai optimizētu spēles un nodrošinātu labāko iespējamo

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Mainiet sava Fitbit Versa 4 pulksteņa ciparnīcu, lai katru dienu bez maksas piešķirtu savam pulkstenim citu izskatu. Skatiet, cik tas ir ātri un vienkārši.