Co je to asociativní paměť?

Většina paměti je uložena a je k ní přistupováno stejným způsobem. Obsah je uložen a poté načten pomocí adresy paměti. To je obecně užitečné a téměř univerzálně používané. Bohužel s tímto stylem ukládání je drobný problém. Je skvělé, pokud víte, kde jsou uložena potřebná data. Pokud chcete hledat konkrétní položku, nefunguje to dobře.

Řekněme, že chcete najít soubor; pamatujete si jeho název, ale ne, kterou složku jste uložili. Váš počítač může vyhledat název souboru, ale pokud jste jej v poslední době nepoužili, je při vyhledávání často velmi pomalý. A to s přihlédnutím k tomu, že systémy souborů jsou uloženy jako názvy souborů a adresy.

Asociativní paměť, známá také jako Content Addressable Memory nebo CAM, je navržena tak, aby byla prohledávána podle jejího obsahu. Bohužel implementace asociativní paměti je velmi drahá. To znamená, že se používá pouze v několika případech, obvykle u špičkového síťového hardwaru. Asociativní jmenná paměť pochází ze skutečnosti, že se jedná o hardwarovou implementaci asociativního softwarového pole.

Struktura buňky

Asociativní paměť se používá pouze tam, kde je potřeba extrémně vysoký výkon. Jako takový je založen spíše na SRAM než na DRAM. Jako výchozí bod je to samo o sobě drahé. DRAM používá jeden tranzistor a jeden kondenzátor na bit a SRAM používá celkem 6 tranzistorů. Pro efektivní vyhledávání obsahu paměťové buňky je každá buňka upravena tak, aby měla srovnávací obvody. To přidá celkem 4 další tranzistory do každého článku. To znamená, že asociativní paměť je výrazně méně hustá než SRAM, což je již drahá forma úložiště.

Používání

Asociativní paměť je drahá a optimalizovaná výhradně pro vyhledávání podle obsahu. Jako takový se skutečně používá pouze v zařízeních, která neustále potřebují provádět tento typ vyhledávání; i v tomto případě se obvykle omezuje na špičkové modely. Obecně existují pouze dvě hlavní místa, kde se používá asociativní paměť, síťové přepínače a směrovače.

Síťový hardware, jako jsou přepínače a směrovače, musí nabízet vysoce výkonné úrovně, aby neustále proudil několik gigabitů síťového provozu. V rámci sítě se ke směrování provozu používají adresy MAC. Přepínač bude vědět, do kterého z mnoha síťových portů je třeba odeslat data, aby se dostal do zařízení se správnou MAC adresou. Aby bylo zajištěno, že každý paket bude odeslán na správné místo, vyhledá se jeho cílová MAC adresa. V tradičním formátu paměti by to nějakou dobu zabralo a přidalo by to ke každé síťové komunikaci latenci. S asociativní pamětí může být vyhledávání mnohem rychlejší.

Binární a ternární

Většina asociativní paměti je založena na binárních, ale některé jsou založeny na ternárních. Ternární asociativní paměťová buňka je podobná té binární popsané výše. Místo jednoho článku SRAM má však dva. Oba pak mají dohromady čtyři další tranzistory potřebné k provedení srovnání. To samozřejmě činí ternární asociativní paměť ještě dražší než její binární bratranec, tak k čemu se používá?

Druhý bit ternární buňky označuje „starat se“ nebo „nestarat se“. To přidá třetí stav do buňky a celkové vyhledávací funkce. Nyní může uložit 1, 0 nebo X, protože je to jedno. To je užitečné zejména při práci se síťovými směrovacími tabulkami založenými na maskách podsítě s proměnnou délkou a se seznamy řízení přístupu. V obou těchto případech můžete mít více kladných odpovědí na jednu vyhledávací adresu. V obou si chcete vzít na vědomí pouze ten nejpřesnější pokyn.

Vyhledávání 192.168.20.19 jako takové může odpovídat následujícím pravidlům 192.168.20.16/28 a 192.168.0.0/16. Pokud byste prováděli standardní binární vyhledávání, museli byste provést výpočty, abyste ověřili, že adresa spadá do zadaného rozsahu adres. Pomocí ternární logiky však můžete určit, zda vaše vyhledávací adresa odpovídá 192.168.xx v jediné operaci. Můžete také určit, že shoda /28 je mnohem přesnější než shoda /16, protože je zde méně bitů „nezajímá mě to“. To vám umožní přednostně aplikovat související pravidla řízení přístupu.

Protože je ternární asociativní paměť ještě dražší než binární forma, je ještě méně běžná. Obecně jej lze nalézt pouze v špičkových směrovačích a vícevrstvých přepínačích.

Závěr

Asociativní paměť je forma paměti, která funguje velmi odlišně od standardní paměti. Namísto požadavku na data uložená na konkrétní adrese, prohledává celou paměť najednou a hledá shody s hledaným výrazem. Aby toho bylo dosaženo s vysokou úrovní výkonu, jsou paměťové buňky založeny na upravené formě SRAM obsahující jednu nebo dvě buňky SRAM kombinované se čtyřmi extra tranzistory používanými k provádění logiky porovnání bitů.

Jednotlivé buňky SRAM se používají v binární asociativní paměti, zatímco dvě buňky SRAM se používají v ternární asociativní paměti. Ternární varianta umožňuje uložit třetí hodnotu, obvykle 1, 0 nebo „je mi to jedno“. To umožňuje obsahu označit, že by se měl shodovat, i když hledaný výraz není přesný.

Protože jsou asociativní paměťové buňky založeny na drahé SRAM, jsou nákladné, přičemž ternární jsou nejdražší. Vzhledem k tomu a její struktuře, která je explicitně optimalizována pro vyhledávání podle obsahu, se asociativní paměť ve většině zařízení nepoužívá.

Používají se pouze zařízení, která z něj mají mimořádný prospěch a kde výkon převažuje nad počátečními náklady. Jako takový se obvykle vyskytuje výhradně v síťovém hardwaru podnikové třídy. V rámci tohoto nastavení se často označuje jako CAM a TCAM pro paměť adresovatelnou obsahu a paměť s adresou ternárního obsahu.


Leave a Comment

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

Ať už hledáte NAS pro váš domov nebo kancelář, podívejte se na tento seznam nejlepších NAS zařízení pro ukládání dat.

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Údržba vašich 3D tiskáren je velmi důležitá pro dosažení nejlepších výsledků. Zde jsou některé důležité tipy, které je dobré mít na paměti.

Jak připojit notebook s Windows 11 k projektoru/TV

Jak připojit notebook s Windows 11 k projektoru/TV

Přečtěte si tento článek, abyste se dozvěděli jednoduchý krok za krokem proces, jak připojit notebook k projektoru nebo TV v OS Windows 11 a Windows 10.

Jak opravit kód chyby GeForce Now 0xC272008F

Jak opravit kód chyby GeForce Now 0xC272008F

Připravujete se na večer her a bude to velké - právě jste si pořídili hru „Star Wars Outlaws“ na streamovací službě GeForce Now. Objevte jediný známý způsob, jak opravit kód chyby GeForce Now 0xC272008F, abyste mohli znovu hrát hry od Ubisoftu.

5 Důvodů, Proč Se Váš Notebook Přehřívá

5 Důvodů, Proč Se Váš Notebook Přehřívá

Zjistěte některé možné důvody, proč se váš notebook přehřívá, spolu s tipy a triky, jak tento problém vyřešit a udržet své zařízení v chladu.

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Udržování vašeho vybavení v dobrém stavu je nezbytné. Zde jsou některé užitečné tipy, jak udržet váš 3D tiskárnu v nejlepším stavu.

Jak nainstalovat SSD na desktop a notebooky

Jak nainstalovat SSD na desktop a notebooky

Právě jste zakoupili SSD a chtěli byste upgradovat interní úložiště svého počítače, ale nevíte, jak SSD nainstalovat? Přečtěte si tento článek nyní!

Canon Pixma MG5220: Skenování bez inkoustu

Canon Pixma MG5220: Skenování bez inkoustu

Jak povolit skenování na Canon Pixma MG5220, když dojde inkoust.

Jak najít IP adresu tiskárny

Jak najít IP adresu tiskárny

Máte problémy s nalezením IP adresy tiskárny? Ukážeme vám, jak ji najít.

Jak používat AirPods s telefony Samsung

Jak používat AirPods s telefony Samsung

Pokud si nejste jisti, zda koupit AirPods pro váš telefon Samsung, tento průvodce vám může pomoci. Nejvíce evidentní otázka je, zda jsou obě zařízení kompatibilní, a odpověď je: Ano, jsou!