Mikä on assosiatiivinen muisti?

Suurin osa muistista tallennetaan ja sitä käytetään samalla tavalla. Sisältö tallennetaan ja haetaan sitten muistiosoitteen avulla. Tämä on yleensä hyödyllistä ja sitä käytetään melkein yleisesti. Valitettavasti tässä säilytystyylissä on pieni ongelma. On hienoa, jos tiedät, mihin tarvitsemasi tiedot on tallennettu. Se ei toimi hyvin, jos haluat etsiä tiettyä merkintää.

Oletetaan, että haluat löytää tiedoston; muistat sen nimen, mutta et tallentamaasi kansiota. Tietokoneesi voi etsiä tiedostonimeä, mutta ellet ole käyttänyt sitä äskettäin, se on usein melko hidas haun suorittamisessa. Ja tämä ottaa huomioon, että tiedostojärjestelmät tallennetaan tiedostonimiin ja osoitteisiin.

Assosiatiivinen muisti, joka tunnetaan myös nimellä Content Addressable Memory tai CAM, on suunniteltu haettavaksi sen sisällön perusteella. Valitettavasti assosiatiivisen muistin toteuttaminen on erittäin kallista. Tämä tarkoittaa, että sitä käytetään vain harvoissa tapauksissa, tyypillisesti huippuluokan verkkolaitteistoissa. Assosiatiivinen nimimuisti tulee siitä tosiasiasta, että se on assosiatiivisen ohjelmistotaulukon laitteistototeutus.

Solun rakenne

Assosiatiivista muistia käytetään vain silloin, kun tarvitaan erittäin suurta suorituskykyä. Sellaisenaan se perustuu SRAM-muistiin DRAMin sijaan. Lähtökohtana on, että tämä yksin tekee siitä kallista. DRAM käyttää yhtä transistoria ja yksi kondensaattori bittiä kohden, ja SRAM käyttää yhteensä 6 transistoria. Muistisolun sisällön etsimiseksi tehokkaasti jokainen solu muutetaan siten, että sillä on vertailupiiri. Tämä lisää yhteensä 4 transistoria lisää jokaiseen soluun. Tämä tarkoittaa, että assosiatiivinen muisti on huomattavasti vähemmän tiheä kuin SRAM, joka on jo kallis tallennusmuoto.

Käyttö

Assosiatiivinen muisti on kallista ja optimoitu yksinomaan vastaamaan sisältöpohjaisia ​​hakuja. Sellaisenaan sitä todella käytetään vain laitteissa, joiden on jatkuvasti suoritettava tämän tyyppistä hakua. silloinkin se rajoittuu tyypillisesti huippuluokan malleihin. Assosiatiivista muistia käytetään yleensä vain kahta pääpaikkaa, verkkokytkimiä ja reitittimiä.

Verkkolaitteiden, kuten kytkimien ja reitittimien, on tarjottava korkeaa suorituskykyä, jotta useat gigabitit verkkoliikennettä virtaavat jatkuvasti. Verkon sisällä MAC-osoitteita käytetään liikenteen reitittämiseen. Kytkin tietää, mihin sen monista verkkoporteista tiedot on lähetettävä, jotta se pääsee laitteeseen oikealla MAC-osoitteella. Sen varmistamiseksi, että jokainen paketti lähetetään oikeaan paikkaan, etsitään sen MAC-kohdeosoite. Perinteisessä muistimuodossa se vie jonkin aikaa, mikä lisää jokaisen verkkoviestinnän latenssia. Assosiatiivisen muistin avulla haku voi olla paljon nopeampaa.

Binääri ja kolmiosainen

Suurin osa assosiatiivisesta muistista perustuu binäärimuistiin, mutta jotkut perustuvat kolmiarvoiseen muistiin. Kolmiosainen assosiatiivinen muistisolu on samanlainen kuin edellä kuvattu binäärisolu. Yhden SRAM-solun sijasta siinä on kuitenkin kaksi. Molemmissa on sitten yhdessä neljä ylimääräistä transistoria, jotka tarvitaan vertailun suorittamiseen. Tämä tietysti tekee kolmiosaisesta assosiatiivisesta muistista vieläkin kalliimman kuin sen binäärinen serkku, joten mihin sitä käytetään?

Kolmiosaisen solun toinen bitti ilmaisee "huoli" tai "ei välitä". Tämä lisää kolmannen tilan soluun ja yleiseen hakutoimintoon. Se voi nyt tallentaa 1:n, 0:n tai X:n älä välitä. Tämä on erityisen hyödyllistä käsiteltäessä verkkoreititystaulukoita, jotka perustuvat muuttuvapituisiin aliverkon peitteisiin ja pääsynhallintaluetteloihin. Sinulla voi olla useita myönteisiä vastauksia yhteen hakuosoitteeseen molemmissa. Molemmissa haluat vain ottaa huomioon tarkimmat ohjeet.

Sellaisenaan haku 192.168.20.19 voi vastata seuraavia sääntöjä 192.168.20.16/28 ja 192.168.0.0/16. Jos suoritit tavallista binäärihakua, sinun on suoritettava laskelmia varmistaaksesi, että osoite kuuluu määritetyille osoitealueille. Kolmiosaisella logiikalla voit kuitenkin määrittää yhdellä toiminnolla, vastaako hakuosoite 192.168.xx. Voit myös määrittää, että /28-osuma on paljon tarkempi kuin /16-osuma, koska "ei välitä"-bittejä on vähemmän. Näin voit soveltaa niihin liittyviä kulunvalvontasääntöjä ensisijaisesti.

Koska kolmiosainen assosiatiivinen muisti on jopa kalliimpaa kuin binäärimuoto, se on vielä harvinaisempi. Se löytyy yleensä vain huippuluokan reitittimistä ja monikerroksisista kytkimistä.

Johtopäätös

Assosiatiivinen muisti on muistin muoto, joka toimii hyvin eri tavalla kuin tavallinen muisti. Sen sijaan, että se pyytäisi tiettyyn osoitteeseen tallennettuja tietoja, se etsii yhdellä kertaa koko muistista osumia hakutermiin. Tämän saavuttamiseksi korkean suorituskyvyn tasoilla muistisolut perustuvat modifioituun SRAM-muotoon, jossa on yksi tai kaksi SRAM-solua yhdistettynä neljään ylimääräiseen transistoriin, joita käytetään bittivertailulogiikan suorittamiseen.

Yksittäisiä SRAM-soluja käytetään binäärisessä assosiatiivisessa muistissa, kun taas kahta SRAM-solua käytetään ternäärisessä assosiatiivisessa muistissa. Kolmannen muunnelman avulla voidaan tallentaa kolmas arvo, tyypillisesti 1, 0 tai "ei välitä". Tämä mahdollistaa sisällön osoittavan, että sen pitäisi vastata, vaikka hakutermi ei olisi tarkka.

Koska assosiatiiviset muistisolut perustuvat kalliiseen SRAM-muistiin, ne ovat kalliita, ja kolmiosaiset ovat kallein. Koska tämä ja sen rakenne on optimoitu nimenomaan sisällön etsimiseen, assosiatiivista muistia ei käytetä useimmissa laitteissa.

Vain laitteissa, jotka hyötyvät siitä erityisesti ja joiden suorituskyky ylittää alkukustannukset, on se. Sellaisenaan se löytyy tyypillisesti yksinomaan yritystason verkkolaitteistoista. Tässä asetuksessa sitä kutsutaan usein CAM:ksi ja TCAM:ksi, vastaavasti osoitteelliselle sisältömuistille ja ternääriselle sisällön osoitteelliselle muistille.


Kuinka kloonata kiintolevy

Kuinka kloonata kiintolevy

Nykyaikaisella digitaalisella aikakaudella, jossa data on arvokasta omaisuutta, kiintolevyn kloonaus Windowsissa voi olla ratkaiseva prosessi monille. Tämä kattava opas

Kuinka korjata WUDFRd-ohjain ei latautunut Windows 10:ssä?

Kuinka korjata WUDFRd-ohjain ei latautunut Windows 10:ssä?

Näetkö tietokonetta käynnistettäessä virheilmoituksen, jonka mukaan ohjain WUDFRd ei latautunut tietokoneellesi?

NVIDIA GeForce Experience -virhekoodin 0x0003 korjaaminen

NVIDIA GeForce Experience -virhekoodin 0x0003 korjaaminen

Onko työpöydälläsi NVIDIA GeForce -kokemusvirhekoodi 0x0003? Jos kyllä, lue blogi nähdäksesi kuinka korjata tämä virhe nopeasti ja helposti.

Mikä on SMPS?

Mikä on SMPS?

Tutustu SMPS:ään ja eri teholuokkien merkitykseen ennen kuin valitset SMPS:n tietokoneellesi.

Mitä on eristykseen perustuva turvallisuus?

Mitä on eristykseen perustuva turvallisuus?

Aikoivat syventyä aiheeseen, josta on tulossa yhä tärkeämpi kyberturvallisuuden maailmassa: eristykseen perustuva tietoturva. Tämä lähestymistapa

Automaattisen napsautuksen käyttäminen Chromebookille

Automaattisen napsautuksen käyttäminen Chromebookille

Tänään aioimme perehtyä työkaluun, joka voi automatisoida toistuvia napsautuksia Chromebookillasi: automaattiseen napsautuslaitteeseen. Tämä työkalu voi säästää aikaa ja

Roomba pysähtyy, tarttuu ja kääntyy – korjaa

Roomba pysähtyy, tarttuu ja kääntyy – korjaa

Korjaa ongelma, jossa Roomba-robottiimuri pysähtyy, tarttuu kiinni ja kääntyy jatkuvasti ympäri.

Miksi Chromebookini ei käynnisty?

Miksi Chromebookini ei käynnisty?

Saat vastauksia kysymykseen, miksi Chromebookini ei käynnisty? Tässä hyödyllisessä oppaassa Chromebookin käyttäjille.

Grafiikka-asetusten muuttaminen Steam Deckissä

Grafiikka-asetusten muuttaminen Steam Deckissä

Steam Deck tarjoaa vankan ja monipuolisen pelikokemuksen aivan sormiesi ulottuvilla. Kuitenkin optimoidaksesi pelaamisesi ja varmistaaksesi parhaan mahdollisen

Kellotaulun vaihtaminen Fitbit Versa 4:ssä

Kellotaulun vaihtaminen Fitbit Versa 4:ssä

Muuta Fitbit Versa 4:n kellotaulua saadaksesi kellosi erilaisen ilmeen joka päivä ilmaiseksi. Katso kuinka nopeaa ja helppoa se on.