Čo je to asociatívna pamäť?

Väčšina pamäte je uložená a prístupná rovnakým spôsobom. Obsah sa uloží a potom načíta pomocou adresy pamäte. To je všeobecne užitočné a používa sa takmer všade. Bohužiaľ, s týmto štýlom ukladania je malý problém. Je vynikajúce, ak viete, kde sú uložené údaje, ktoré potrebujete. Nefunguje dobre, ak chcete vyhľadať konkrétny záznam.

Povedzme, že chcete nájsť súbor; pamätáte si jeho názov, ale nie to, ktorý priečinok ste uložili. Váš počítač dokáže vyhľadať názov súboru, ale pokiaľ ste ho nepoužili nedávno, vyhľadávanie je často dosť pomalé. A to berúc do úvahy, že súborové systémy sú uložené ako názvy súborov a adresy.

Asociačná pamäť, známa aj ako Content Addressable Memory alebo CAM, je navrhnutá tak, aby sa dala vyhľadávať podľa jej obsahu. Bohužiaľ, implementácia asociatívnej pamäte je veľmi drahá. To znamená, že sa používa iba v niekoľkých prípadoch, zvyčajne v špičkovom sieťovom hardvéri. Asociatívna pamäť názvov pochádza zo skutočnosti, že ide o hardvérovú implementáciu asociatívneho softvérového poľa.

Bunková štruktúra

Asociačná pamäť sa používa len tam, kde je potrebný extrémne vysoký výkon. Ako taký je založený skôr na SRAM ako na DRAM. Ako východiskový bod, už len toto ho robí drahým. DRAM používa jeden tranzistor a jeden kondenzátor na bit a SRAM používa celkovo 6 tranzistorov. Na efektívne vyhľadávanie obsahu pamäťovej bunky je každá bunka upravená tak, aby mala porovnávacie obvody. To pridá celkom 4 ďalšie tranzistory do každej bunky. To znamená, že asociatívna pamäť je výrazne menej hustá ako SRAM, čo je už drahá forma ukladania.

Použitie

Asociačná pamäť je drahá a optimalizovaná výhradne na vyhľadávanie podľa obsahu. Ako taký sa skutočne používa iba v zariadeniach, ktoré neustále potrebujú vykonávať tento typ vyhľadávania; aj vtedy sa zvyčajne obmedzuje na špičkové modely. Vo všeobecnosti existujú iba dve hlavné miesta, kde sa používa asociatívna pamäť, sieťové prepínače a smerovače.

Sieťový hardvér, ako sú prepínače a smerovače, musí ponúkať vysokú úroveň výkonu, aby neustále prúdil niekoľko gigabitov sieťovej prevádzky. V rámci siete sa na smerovanie prevádzky používajú adresy MAC. Prepínač bude vedieť, na ktorý z jeho mnohých sieťových portov je potrebné odoslať údaje, aby sa dostal do zariadenia so správnou MAC adresou. Aby sa zabezpečilo, že každý paket bude odoslaný na správne miesto, vyhľadá sa jeho cieľová MAC adresa. V tradičnom formáte pamäte by to nejaký čas trvalo, čím by sa zvýšila latencia každej sieťovej komunikácie. S asociatívnou pamäťou môže byť vyhľadávanie oveľa rýchlejšie.

Binárne a ternárne

Väčšina asociatívnej pamäte je založená na binárnej pamäti, ale niektoré sú založené na ternárnej pamäti. Ternárna asociatívna pamäťová bunka je podobná binárnej bunke opísanej vyššie. Namiesto jednej bunky SRAM však má dve. Oba potom majú spolu štyri ďalšie tranzistory potrebné na vykonanie porovnania. To, samozrejme, robí ternárnu asociatívnu pamäť ešte drahšou ako jej binárna príbuzná, tak na čo sa používa?

Druhý bit ternárnej bunky označuje „starostlivosť“ alebo „nestarám sa“. To pridá tretí stav do bunky a celkovej funkcie vyhľadávania. Teraz môže uložiť 1, 0 alebo X, pretože je vám to jedno. To je užitočné najmä pri práci so sieťovými smerovacími tabuľkami založenými na maskách podsiete s premenlivou dĺžkou a so zoznamami riadenia prístupu. V oboch môžete mať viacero pozitívnych odpovedí na jednu vyhľadávaciu adresu. V rámci oboch si chcete všimnúť len ten najpresnejší návod.

Vyhľadávanie 192.168.20.19 ako také môže zodpovedať nasledujúcim pravidlám 192.168.20.16/28 a 192.168.0.0/16. Ak by ste vykonávali štandardné binárne vyhľadávanie, museli by ste vykonať výpočty, aby ste overili, či adresa patrí do určených rozsahov adries. Pomocou ternárnej logiky však môžete v jedinej operácii určiť, či sa vaša vyhľadávacia adresa zhoduje s 192.168.xx. Môžete tiež určiť, že zhoda /28 je oveľa presnejšia ako zhoda /16, pretože existuje menej bitov „nezáleží mi na tom“. To vám umožňuje prednostne aplikovať súvisiace pravidlá riadenia prístupu.

Keďže ternárna asociatívna pamäť je ešte drahšia ako binárna forma, je ešte menej bežná. Vo všeobecnosti ho možno nájsť iba v špičkových smerovačoch a viacvrstvových prepínačoch.

Záver

Asociačná pamäť je forma pamäte, ktorá funguje veľmi odlišne od štandardnej pamäte. Namiesto vyžiadania údajov uložených na konkrétnej adrese, prehľadá naraz celú pamäť a nájde zhody s hľadaným výrazom. Aby sa to dosiahlo s vysokou úrovňou výkonu, sú pamäťové bunky založené na modifikovanej forme SRAM s jednou alebo dvoma bunkami SRAM v kombinácii so štyrmi dodatočnými tranzistormi používanými na vykonávanie logiky porovnávania bitov.

Jednotlivé bunky SRAM sa používajú v binárnej asociatívnej pamäti, zatiaľ čo dve bunky SRAM sa používajú v ternárnej asociatívnej pamäti. Ternárny variant umožňuje uložiť tretiu hodnotu, zvyčajne 1, 0 alebo „je mi to jedno“. To umožňuje obsahu označiť, že by sa mal zhodovať, aj keď hľadaný výraz nie je presný.

Pretože asociatívne pamäťové bunky sú založené na drahej SRAM, sú nákladné, pričom ternárne sú najdrahšie. Kvôli tomuto a jeho štruktúre, ktorá je explicitne optimalizovaná na vyhľadávanie podľa obsahu, sa asociatívna pamäť vo väčšine zariadení nepoužíva.

Disponujú len zariadeniami, ktoré z toho majú obzvlášť úžitok a kde výkon prevažuje nad počiatočnými nákladmi. Ako taký sa zvyčajne nachádza výlučne v sieťovom hardvéri podnikovej triedy. V rámci tohto nastavenia sa často označuje ako CAM a TCAM, pre pamäť s adresovateľnou obsahom a pamäť s adresou s ternárnym obsahom.


Leave a Comment

Canon Pixma MG5220: Skener bez atramentu

Canon Pixma MG5220: Skener bez atramentu

Ako povoliť skenovanie na Canon Pixma MG5220, keď vám došiel atrament.

Ako opraviť chybu GeForce Now s kódom 0xC272008F

Ako opraviť chybu GeForce Now s kódom 0xC272008F

Chystáte sa na večer hrania hier a bude to veľké – práve ste si zakúpili “Star Wars Outlaws” na streamovacej službe GeForce Now. Objavte jediné známe riešenie, ktoré vám ukáže, ako opraviť chybu GeForce Now s kódom 0xC272008F, aby ste mohli opäť začať hrať hry od Ubisoftu.

Čo robiť, ak sa Powerbeats Pro nenabíjajú v puzdre

Čo robiť, ak sa Powerbeats Pro nenabíjajú v puzdre

Ak sa vaše Powerbeats Pro nenabíjajú, použite iný zdroj energie a vyčistite svoje slúchadlá. Nechajte puzdro otvorené počas nabíjania slúchadiel.

Základy 3D tlače: Nevyhnutný kontrolný zoznam údržby

Základy 3D tlače: Nevyhnutný kontrolný zoznam údržby

Udržiavanie vašich zariadení v dobrom stave je nevyhnutné. Tu sú niektoré užitočné tipy, ako váš 3D tlačiar udržiavať v top stave.

Ako nainštalovať SSD na desktopových a prenosných počítačoch

Ako nainštalovať SSD na desktopových a prenosných počítačoch

Kúpili ste si SSD s nádejou na upgrade interného úložiska vášho počítača, ale neviete, ako nainštalovať SSD? Prečítajte si tento článok teraz!

Ako nájsť IP adresu tlačiarne

Ako nájsť IP adresu tlačiarne

Máte problém nájsť IP adresu, ktorú vaša tlačiareň používa? Ukážeme vám, ako ju nájsť.

Ako pripojiť notebook s Windows 11 k projektoru/TV

Ako pripojiť notebook s Windows 11 k projektoru/TV

Prečítajte si tento článok a dozviete sa jednoduchý, krok za krokom popísaný proces pripojenia notebooku k projektoru alebo TV na operačných systémoch Windows 11 a Windows 10.

5 Dôvodov, Prečo Sa Váš Notebook Prehrieva

5 Dôvodov, Prečo Sa Váš Notebook Prehrieva

Zistite niektoré možné dôvody, prečo sa váš notebook prehrieva, spolu s tipmi a trikmi, ako sa vyhnúť tomuto problému a udržať vaše zariadenie chladné.

Základy 3D tlače: Tipy na údržbu vašej 3D tlačiarne

Základy 3D tlače: Tipy na údržbu vašej 3D tlačiarne

Údržba vašich 3D tlačiarní je veľmi dôležitá na dosiahnutie najlepších výsledkov. Tu sú niektoré dôležité tipy, na ktoré by ste mali myslieť.

10 Najlepších NAS úložných zariadení pre domáce a profesionálne použitie

10 Najlepších NAS úložných zariadení pre domáce a profesionálne použitie

Či už hľadáte NAS pre svoj domov alebo kanceláriu, pozrite si tento zoznam najlepších NAS úložných zariadení.