Kas yra asociatyvioji atmintis?

Dauguma atminties saugoma ir pasiekiama tokiu pačiu būdu. Turinys išsaugomas ir nuskaitomas naudojant atminties adresą. Tai paprastai yra naudinga ir beveik visuotinai naudojama. Deja, su šiuo saugojimo stiliumi kyla nedidelė problema. Puiku, jei žinote, kur saugomi reikalingi duomenys. Jis neveikia gerai, jei norite ieškoti konkretaus įrašo.

Tarkime, kad norite rasti failą; prisimenate jo pavadinimą, bet ne tą aplanką, kurį išsaugojote. Jūsų kompiuteris gali ieškoti failo pavadinimo, tačiau, nebent juo neseniai naudojote, jis dažnai gana lėtai atlieka paiešką. Ir tai atsižvelgiama į tai, kad failų sistemos yra saugomos kaip failų pavadinimai ir adresai.

Asociatyvioji atmintis, taip pat žinoma kaip turinio adresuojama atmintis arba CAM, skirta ieškoti pagal jos turinį. Deja, asociatyvios atminties įdiegimas yra labai brangus. Tai reiškia, kad jis naudojamas tik keliais atvejais, paprastai aukštos klasės tinklo aparatinėje įrangoje. Asociatyvaus pavadinimo atmintis atsiranda dėl to, kad tai asociatyvinės programinės įrangos masyvo aparatinės įrangos įgyvendinimas.

Ląstelių struktūra

Asociatyvioji atmintis naudojama tik ten, kur reikia itin didelio našumo. Taigi jis pagrįstas SRAM, o ne DRAM. Vien dėl to jis brangsta. DRAM bitui naudoja vieną tranzistorių ir vieną kondensatorių, o SRAM iš viso – 6 tranzistorius. Norint efektyviai ieškoti atminties ląstelės turinio, kiekviena ląstelė modifikuojama taip, kad jame būtų palyginimo grandinė. Tai prideda dar 4 tranzistorius prie kiekvienos ląstelės. Tai reiškia, kad asociacinė atmintis yra žymiai mažesnė nei SRAM, kuri ir taip yra brangi saugojimo forma.

Naudojimas

Asociatyvioji atmintis yra brangi ir optimizuota tik turinio paieškoms. Iš tikrųjų jis naudojamas tik įrenginiuose, kuriuose nuolat reikia atlikti tokio tipo paiešką; net ir tada jis paprastai apsiriboja aukščiausios klasės modeliais. Paprastai yra tik dvi pagrindinės vietos, kuriose naudojama asociacinė atmintis: tinklo jungikliai ir maršrutizatoriai.

Tinklo aparatinė įranga, pvz., jungikliai ir maršruto parinktuvai, turi pasiūlyti aukšto našumo lygį, kad nuolat tekėtų keli gigabitai tinklo srauto. Tinkle MAC adresai naudojami srautui nukreipti. Jungiklis žinos, į kurį iš daugelio tinklo prievadų reikia siųsti duomenis, kad jis patektų į įrenginį su teisingu MAC adresu. Siekiant užtikrinti, kad kiekvienas paketas būtų išsiųstas į reikiamą vietą, ieškoma jo paskirties MAC adreso. Naudojant tradicinį atminties formatą, tai užtruktų šiek tiek laiko ir padidintų kiekvieno tinklo ryšio delsą. Naudojant asociatyviąją atmintį, paieška gali būti daug greitesnė.

Dvejetainis ir trejetas

Dauguma asociatyvinės atminties remiasi dvejetaine atmintimi, tačiau kai kurios – trejetu. Trinarė asociacinė atminties ląstelė yra panaši į pirmiau aprašytą dvejetainę. Tačiau vietoj vieno SRAM elemento jis turi du. Tada abu kartu turi keturis papildomus tranzistorius, reikalingus palyginimui atlikti. Žinoma, dėl to trinarė asociatyvioji atmintis dar brangesnė nei jos dvejetainė pusbrolis, tad kam ji naudojama?

Trečias ląstelės antrasis bitas rodo „rūpi“ arba „nerūpi“. Tai prideda trečią būseną prie langelio ir visos paieškos funkcijos. Dabar jame galima išsaugoti 1, 0 arba X, kad nerūpi. Tai ypač naudinga dirbant su tinklo maršruto parinkimo lentelėmis, pagrįstomis kintamo ilgio potinklio kaukėmis, ir su prieigos kontrolės sąrašais. Galite gauti kelis teigiamus atsakymus į vieną paieškos adresą abiejuose. Abiem atvejais norite atkreipti dėmesį tik į tiksliausias instrukcijas.

Taigi 192.168.20.19 paieška gali atitikti šias taisykles 192.168.20.16/28 ir 192.168.0.0/16. Jei atlikote standartinę dvejetainę paiešką, turėsite atlikti skaičiavimus, kad patikrintumėte, ar adresas patenka į nurodytus adresų diapazonus. Tačiau naudodami trejetą logiką galite nustatyti, ar paieškos adresas atitinka 192.168.xx, atlikdami vieną operaciją. Taip pat galite nustatyti, kad atitiktis /28 yra daug tikslesnė nei /16, nes yra mažiau „nerūpi“ bitų. Tai leidžia pirmiausia taikyti susijusias prieigos kontrolės taisykles.

Kadangi trinarė asociatyvioji atmintis yra dar brangesnė už dvejetainę formą, ji dar rečiau paplitusi. Paprastai jį galima rasti tik aukščiausios klasės maršrutizatoriuose ir daugiasluoksniuose jungikliuose.

Išvada

Asociatyvioji atmintis yra atminties forma, kuri veikia labai skirtingai nei standartinė atmintis. Užuot prašydamas konkrečiame adresu saugomų duomenų, jis vienu kartu ieško visoje atmintyje, kad atitiktų paieškos terminą. Kad tai būtų pasiekta naudojant didelio našumo lygius, atminties elementai yra pagrįsti modifikuota SRAM forma, kurią sudaro viena arba dvi SRAM ląstelės kartu su keturiais papildomais tranzistoriais, naudojamais bitų palyginimo logikai.

Vienos SRAM ląstelės naudojamos dvejetainėje asociatyvinėje atmintyje, o dvi SRAM ląstelės naudojamos trejetinėje asociatyvinėje atmintyje. Trečias variantas leidžia išsaugoti trečią reikšmę, paprastai 1, 0 arba „nerūpi“. Tai leidžia turiniui nurodyti, kad jis turi atitikti, net jei paieškos terminas nėra tikslus.

Kadangi asociacinės atminties ląstelės yra pagrįstos brangia SRAM, jos yra brangios, o trejopos yra brangiausios. Dėl šios priežasties ir jos struktūros, kuri yra specialiai optimizuota paieškai pagal turinį, asociacinė atmintis nenaudojama daugumoje įrenginių.

Tai yra tik tie įrenginiai, kuriems tai ypač naudinga ir kurių našumas viršija išankstines išlaidas. Paprastai jis randamas tik įmonės lygio tinklo aparatinėje įrangoje. Šiame nustatyme ji dažnai vadinama CAM ir TCAM, atitinkamai kaip turinio adresuojama atmintis ir trejeta turinio adresuojama atmintis.


Kaip klonuoti standųjį diską

Kaip klonuoti standųjį diską

Šiuolaikiniame skaitmeniniame amžiuje, kai duomenys yra vertingas turtas, kietojo disko klonavimas sistemoje „Windows“ daugeliui gali būti labai svarbus procesas. Šis išsamus vadovas

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Ar paleidžiant kompiuterį matote klaidos pranešimą, kuriame rašoma, kad tvarkyklės WUDFRd nepavyko įkelti į kompiuterį?

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Ar jūsų darbalaukyje yra NVIDIA GeForce patirties klaidos kodas 0x0003? Jei taip, perskaitykite tinklaraštį, kad sužinotumėte, kaip greitai ir paprastai ištaisyti šią klaidą.

Kas yra SMPS?

Kas yra SMPS?

Prieš rinkdamiesi SMPS savo kompiuteriui, sužinokite, kas yra SMPS ir ką reiškia skirtingi efektyvumo rodikliai.

Kas yra izoliacija pagrįstas saugumas?

Kas yra izoliacija pagrįstas saugumas?

Ketinau įsigilinti į temą, kuri tampa vis svarbesnė kibernetinio saugumo pasaulyje: izoliacija pagrįstas saugumas. Šis požiūris į

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Šiandien ketinome įsigilinti į įrankį, kuris gali automatizuoti pasikartojančias spustelėjimo užduotis jūsų „Chromebook“ įrenginyje: automatinį spustelėjimą. Šis įrankis gali sutaupyti laiko ir

Roomba sustoja, sustoja ir apsisuka – pataisykite

Roomba sustoja, sustoja ir apsisuka – pataisykite

Išspręskite problemą, kai Roomba robotas siurblys sustoja, prilimpa ir vis sukasi.

Kodėl „Chromebook“ neįsijungia

Kodėl „Chromebook“ neįsijungia

Gaukite atsakymus į klausimą, kodėl „Chromebook“ neįsijungia? Šiame naudingame „Chromebook“ naudotojams skirtame vadove.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

„Steam Deck“ siūlo tvirtą ir įvairiapusę žaidimo patirtį, kuri yra jūsų rankose. Tačiau norėdami optimizuoti savo žaidimus ir užtikrinti geriausią įmanomą

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Pakeiskite savo Fitbit Versa 4 laikrodžio ciferblatą, kad kasdien nemokamai atrodytumėte kitaip. Pažiūrėkite, kaip tai greita ir paprasta.