Vyhľadávanie a umiestňovanie informácií v asociatívnej pamäti. Organizácia adresnej, asociatívnej a zásobníkovej pamäte

Zvyčajne v úložných zariadeniach vyžaduje prístup k informáciám špecifikáciu adresy bunky. Oveľa pohodlnejšie je však hľadať informácie nie na adrese, ale na základe nejakej charakteristickej vlastnosti obsiahnutej v samotnej informácii. Tento princíp je základom pamäte, známej ako asociatívne úložné zariadenie (AMU). V literatúre existujú aj iné názvy pre takúto pamäť: obsahovo adresovateľná pamäť; pamäť adresovateľná dátami (dátová adresovateľná pamäť); pamäť s paralelným vyhľadávaním (pamäť paralelného vyhľadávania); katalógová pamäť (katalógová pamäť); ukladanie informácií (ukladanie informácií); označená pamäť.

Asociatívne ukladanie je zariadenie schopné uchovávať informácie, porovnávať ich s určitou vzorkou a indikovať ich vzájomnú zhodu alebo nezrovnalosť.

Na rozdiel od bežnej pamäte stroja (pamäť s náhodným prístupom alebo RAM), v ktorej používateľ špecifikuje adresu pamäte a RAM vracia dátové slovo uložené na tejto adrese, je AP navrhnutý tak, že používateľ špecifikuje dátové slovo a AP ho hľadá. v celej pamäti, aby ste zistili, či je niekde v nej uložený. Ak sa nájde dátové slovo, UA vráti zoznam jednej alebo viacerých adries úložného priestoru, kde sa slovo našlo (a na niektorých architektúrach vráti aj samotné dátové slovo alebo iné súvisiace časti údajov). AP je teda hardvérovou implementáciou toho, čo by sa z hľadiska programovania nazývalo asociatívne pole.

Asociačná vlastnosť znak, podľa ktorého sa hľadajú informácie.

Funkcia vyhľadávania kombinácia kódov, ktorá funguje ako vzor pre vyhľadávanie.

Asociačný znak môže byť súčasťou hľadaných informácií alebo môže byť k nim dodatočne pripojený. V druhom prípade je zvykom nazývať to štítok alebo štítok.

Štruktúra asociatívnej pamäte

AZU zahŕňa:

  • pamäťové pole na ukladanie N m-bitových slov, v každom z ktorých je obslužnými informáciami obsadených niekoľko bitov nižšieho rádu;
  • register asociatívneho znaku, kde je umiestnený kód požadovanej informácie (vyhľadávací znak). Zaregistrujte bitovú hĺbku k zvyčajne menej ako dĺžka slova T;
  • porovnávacie obvody používané na paralelné porovnávanie každého bitu všetkých uložených slov s príslušným návestným bitom vyhľadávania a generovanie zodpovedajúcich signálov;
  • register koincidencií, kde každá bunka pamäťového poľa zodpovedá jednému bitu, do ktorého je jeden vložený, ak sa všetky bity zodpovedajúcej bunky zhodujú s rovnakými bitmi vyhľadávacieho atribútu;
  • register masky, ktorý umožňuje zakázať porovnávanie určitých bitov;
  • kombinačný obvod, ktorý na základe analýzy obsahu koincidenčného registra generuje signály charakterizujúce výsledky vyhľadávania informácií.

Pri prístupe k ACD sa bity v registri masky najskôr vynulujú, čo by sa pri vyhľadávaní informácií nemalo brať do úvahy. Všetky bity zhody sú nastavené na jednotku. Potom sa do registra asociatívnych atribútov zadá kód požadovanej informácie (atribút vyhľadávania) a začne sa jeho vyhľadávanie, počas ktorého porovnávacie obvody súčasne porovnávajú prvý bit všetkých buniek úložného poľa s prvým bitom atribútu vyhľadávania. . Tie obvody, ktoré zistili nesúlad, generujú signál, ktorý nastaví zodpovedajúci bit registra zhody na nulu. Proces vyhľadávania je rovnaký pre zvyšok odmaskovaných bitov príznaku vyhľadávania. Výsledkom je, že jednotky sú uložené len v tých bitoch koincidenčného registra, ktoré zodpovedajú bunkám, kde sa nachádza požadovaná informácia. Konfigurácia jedničiek v registri zhody sa používa ako adresy, ktoré sa majú načítať z úložného poľa. Vzhľadom na skutočnosť, že výsledky vyhľadávania môžu byť nejednoznačné, obsah registra zhôd sa privádza do kombinačného obvodu, kde sa generujú signály, ktoré naznačujú, že hľadaná informácia je:

  • a0 – nenájdené;
  • a1 - obsiahnuté v jednej bunke;
  • a2 - je obsiahnutá vo viac ako jednej bunke.

Tvorba obsahu koincidenčného registra a signálov a0, a1, a2 sa nazýva operácia riadenia asociácie. Je neoddeliteľnou súčasťou operácií čítania a zápisu, hoci môže mať aj nezávislú hodnotu.

Pri čítaní je asociácia najskôr kontrolovaná argumentom vyhľadávania. Potom pri a0=1 sa čítanie zruší kvôli nedostatku požadovaných informácií pri a1 =1 prečíta sa slovo, ktoré je označené jednotkou v registri zhody, a keď a2 = 1 najvyššia 1 v registri zhôd sa vynuluje a vyhľadá sa zodpovedajúce slovo. Opakovaním tejto operácie môžete postupne spočítať všetky slová.

Zápis do AP sa vykoná bez zadania konkrétnej adresy do prvej voľnej bunky. Na nájdenie voľnej bunky sa vykoná operácia čítania, pri ktorej nie sú maskované iba obslužné bity, ukazujúce, ako dlho sa k tejto bunke pristupovalo, a za voľnú sa považuje buď prázdna bunka, alebo tá, ktorá sa nepoužívala najdlhšie.

Hlavná výhoda asociatívnych pamätí je daná skutočnosťou, že čas získavania informácií závisí iba od počtu číslic v atribúte vyhľadávania a od rýchlosti pollingu číslic a nezávisí od počtu buniek v úložnom poli.

Všeobecnosť myšlienky asociatívneho získavania informácií nevylučuje rôznorodosť architektúr CAM. Konkrétna architektúra je určená kombináciou štyroch faktorov:

  1. druh vyhľadávania informácií;
  2. techniky porovnávania funkcií;
  3. spôsob čítania informácií v prípade viacerých zhôd;
  4. spôsob zaznamenávania informácií.

V každej konkrétnej aplikácii CAM môže byť úloha vyhľadávania informácií formulovaná rôznymi spôsobmi.

Typy vyhľadávania informácií:

  • Jednoduché (vyžaduje sa úplná zhoda všetkých číslic atribútu vyhľadávania s rovnakými číslicami slov uložených v úložnom poli).
  • ťažké:
    • Vyhľadajte všetky slová väčšie alebo menšie ako zadané. Hľadajte slová v rámci daných limitov.
    • Nájdenie maxima alebo minima. Viacnásobný výber z AML slova s ​​maximálnou alebo minimálnou hodnotou asociatívneho znaku (s jeho vylúčením z ďalšieho vyhľadávania) je v podstate usporiadaný výber informácií. Usporiadaný výber je možné poskytnúť aj iným spôsobom, ak hľadáte slová, ktorých asociatívny prvok vo vzťahu k prvku prieskumu je najbližšia väčšia alebo menšia hodnota.

Je zrejmé, že implementácia komplexných metód vyhľadávania je spojená so zodpovedajúcimi zmenami v architektúre CAM, najmä s komplikáciou pamäťového obvodu a zavedením dodatočnej logiky do neho.

Technika porovnávania funkcií:

Pri konštrukcii AZU si človek vyberá zo štyroch možností usporiadania prieskumu obsahu pamäte. Tieto možnosti možno kombinovať paralelne podľa skupiny výbojov a postupne podľa skupín. Z hľadiska času hľadania možno za najefektívnejšie považovať paralelné vypočúvanie slovami aj číslicami, no nie všetky typy pamäťových prvkov túto možnosť umožňujú.

Ako čítať informácie v prípade viacerých zhôd:

  • S sekvenčným reťazcom (s pomocou pomerne zložitého zariadenia, kde sú slová, ktoré tvoria viachodnotovú odpoveď, pevne dané. Sekvenčný reťazec umožňuje čítať slová vo vzostupnom poradí podľa počtu buniek ACD, bez ohľadu na veľkosť asociatívnych prvkov ).
  • Algoritmicky (ako výsledok série prieskumov verejnej mienky).

Spôsob zaznamenávania informácií:

  1. Podľa adresy.
  2. S triedením informácií na vstupe CAM podľa hodnoty asociatívneho znaku (umiestnenie bunky, kde bude umiestnené nové slovo, závisí od pomeru asociatívnych znakov novo napísaného slova a slov už uložených v CAM).
  3. Zhodou známok.
  4. S reťazou velenia.

Vzhľadom na relatívne vysoké náklady na RAM sa zriedka používa ako nezávislý typ pamäte.

Z Wikipédie, voľnej encyklopédie

Asociačná pamäť(AP) resp (CAM) je špeciálny druh strojovej pamäte používanej vo veľmi rýchlych vyhľadávacích aplikáciách. Taktiež známy ako obsahovo adresovateľná pamäť, asociatívne úložné zariadenie, obsahovo adresovateľná pamäť alebo asociatívne pole, hoci druhý termín sa v programovaní častejšie používa na označenie dátovej štruktúry. (Hannum a kol., 2004)

Hardvérové ​​asociatívne pole

Na rozdiel od bežnej pamäte stroja (pamäť s náhodným prístupom alebo RAM), v ktorej používateľ špecifikuje adresu pamäte a RAM vracia dátové slovo uložené na tejto adrese, je AP navrhnutý tak, že používateľ špecifikuje dátové slovo a AP ho hľadá. v celej pamäti, aby ste zistili, či je niekde v nej uložený. Ak sa nájde dátové slovo, UA vráti zoznam jednej alebo viacerých adries úložného priestoru, kde sa slovo našlo (a na niektorých architektúrach vráti aj samotné dátové slovo alebo iné súvisiace časti údajov). AP je teda hardvérovou implementáciou toho, čo by sa z hľadiska programovania nazývalo asociatívne pole.

Priemyselná štandardná obsahová adresovateľná pamäť

Definícia hlavného rozhrania pre UA a ďalšie prvky sieťového vyhľadávania (NSE) bola špecifikovaná v dohode o interoperabilite s názvom Look-Aside Interface ( LA-1 A LA-1B), ktorý bol vyvinutý Network Processing Forum, ktorý bol neskôr zlúčený do Optical Internetworking Forum (OIF). Mnohé zariadenia vyrobili Integrated Device Technology, Cypress Semiconductor, IBM, Netlogic Micro Systems a ďalšie v rámci týchto zmlúv o LA. Dňa 11. decembra 2007 vydala OIF Dohovor o rozhraní Serial Lookaside (Serial Lookaside, SLA).

Implementácia na polovodičoch

Pretože AP je navrhnutý tak, aby prehľadával celú pamäť v rámci jednej operácie, je to oveľa rýchlejšie ako prehľadávanie pamäte RAM prakticky vo všetkých vyhľadávacích aplikáciách. Nevýhodou sú však vyššie náklady na AP. Na rozdiel od čipu RAM, ktorý má jednoduché úložiská, každý jednotlivý bit pamäte v plne paralelnom AP musí mať pripojený vlastný porovnávací obvod, aby sa našiel zhoda medzi uloženým bitom a vstupným bitom. Okrem toho musia byť výstupy porovnaní z každej bunky v dátovom slove kombinované, aby sa získal úplný výsledok porovnania dátového slova. Dodatočné obvody zväčšujú fyzickú veľkosť AP čipu, čo zvyšuje výrobné náklady. Dodatočné obvody tiež zvyšujú stratu energie, pretože všetky porovnávacie obvody sú aktívne pri každom cykle hodín. V dôsledku toho sa AM používa iba v špecializovaných aplikáciách, kde rýchlosť vyhľadávania nemožno dosiahnuť inými, menej nákladnými metódami.

Alternatívne implementácie

Aby sa dosiahla iná rovnováha medzi rýchlosťou, veľkosťou pamäte a nákladmi, niektoré implementácie emulujú funkcie AP pomocou štandardného prehľadávania stromov alebo hardvérovo implementovaných hašovacích algoritmov, a tiež pomocou hardvérových trikov, ako je replikácia a prepojenie na urýchlenie efektívnej prevádzky. Tieto konštrukcie sa často používajú v smerovačoch.

Ternárna asociatívna pamäť

Binárna AA je najjednoduchší typ asociatívnej pamäte, ktorá používa slová na vyhľadávanie údajov zložené výlučne z 1 a 0. Ternárna obsahová adresovateľná pamäť (TCAM) pridáva tretiu hodnotu na porovnanie „X“ alebo „nestarám sa“ o jeden alebo viac bitov v uloženom dátovom slove, čím pridáva väčšiu flexibilitu vyhľadávania.

Napríklad ternárny UA môže uložiť slovo „10XX0“, ktoré by sa zhodovalo s ktorýmkoľvek zo štyroch hľadaných slov „10000“, „10010“, „10100“ alebo „10110“. Pridanie flexibility do vyhľadávania je za cenu zvýšenej zložitosti pamäte, pretože interné bunky teraz musia kódovať tri možné stavy namiesto dvoch. Tento dodatočný stav sa zvyčajne implementuje pridaním "dôležitého" ("dôležitého"/"nie dôležitého") bitu masky do každého pamäťového miesta.

Holografická asociatívna pamäť poskytuje matematický model pre integrovanú nezávislú bitovú asociatívnu pamäť pomocou reprezentácie s komplexnou hodnotou. [ ] pravdepodobne www.mit.edu/~9.54/fall14/Classes/class07/Plate.pdf a www.mit.edu/~9.54/fall14/Classes/class07/Plate.pdf

Príklady aplikácií

Obsahovo adresovateľná pamäť sa často používa v zariadeniach počítačovej siete. Napríklad, keď sieťový prepínač prijme dátový rámec na jednom zo svojich portov, aktualizuje internú tabuľku s pôvodom MAC adresy rámca a portom, na ktorom bol prijatý. Potom vyhľadá cieľovú MAC adresu v tabuľke, aby určil, na ktorý port má byť rámec odoslaný, a odošle ho na tento port. Tabuľka MAC adries je zvyčajne implementovaná na binárnom AP, takže cieľový port možno nájsť veľmi rýchlo, čím sa zníži latencia prepínača.

Ternárne AP sa často používajú v tých sieťových smerovačoch, kde má každá adresa dve časti: (1) sieťovú adresu, ktorej veľkosť sa môže meniť v závislosti od konfigurácie podsiete, a (2) adresu hostiteľa, ktorá zaberá zostávajúce bity. Každá podsieť má masku siete, ktorá určuje, ktoré bity sú sieťovou adresou a ktoré bity sú adresou hostiteľa. Smerovanie sa vykonáva kontrolou podľa smerovacej tabuľky udržiavanej smerovačom. Obsahuje všetky známe cieľové sieťové adresy, ich priradenú sieťovú masku a informácie potrebné pre pakety smerované do tohto cieľa. Smerovač implementovaný bez UA porovnáva cieľovú adresu paketu, ktorý sa má rozdeliť, s každým záznamom v smerovacej tabuľke, pričom vykonáva logické AND so sieťovou maskou a porovnáva výsledky so sieťovou adresou. Ak sú rovnaké, na odoslanie paketu sa použije zodpovedajúca informácia o smere. Použitie ternárneho UA pre smerovaciu tabuľku robí proces vyhľadávania veľmi efektívnym. Adresy sa ukladajú pomocou bitu nezáleží v časti adresy hostiteľa, takže vyhľadanie cieľovej adresy v UA okamžite získa správny záznam v smerovacej tabuľke; obe operácie - nanesenie masky a porovnanie - vykonáva hardvér AP.

Medzi ďalšie aplikácie AP patrí

  • Správcovia vyrovnávacej pamäte CPU a vyrovnávacie pamäte asociatívneho prekladu (TLB)

Bibliografia

  • Kohonen T. Asociatívne úložné zariadenia. M.: Mir, 1982. - 384 s.

V angličtine

  • Anargyros Krikelis, Charles C. Weems (editori) (1997) Asociatívne spracovanie a procesory, IEEE Computer Science Press. ISBN 0-8186-7661-2
  • Pagiamtis, K. & Sheikholeslami, A. (2006, marec). IEEE J. polovodičových obvodov, 41(3), 712–727.
  • . U.S. Patent 6,823,434.

Napíšte recenziu na článok „Asociačná pamäť“

Poznámky

Odkazy

  • Asociatívne úložné zariadenie- článok z Veľkej sovietskej encyklopédie.

V angličtine:

pozri tiež

  • Processor in memory, Processor-in-memory (PIM) alebo Computing RAM alebo Computational RAM, C-RAM, tiež „Výpočet v pamäti“
  • Pamäťové výpočty, koncepcia a implementácia ako variácia FPGA

Úryvok charakterizujúci asociatívnu pamäť

„Spýtaj sa grófky, ale ja neprikazujem.
"Ak je to ťažké, prosím, nie," povedal Berg. - Naozaj by som chcel len Verušku.
"Ach, vypadnite odtiaľto všetci, do pekla, do pekla, do pekla, do pekla!" zakričal starý gróf. - Točí sa mi hlava. A odišiel z izby.
Grófka plakala.
- Áno, áno, mama, veľmi ťažké časy! povedal Berg.
Natasha vyšla so svojím otcom a akoby si niečo s ťažkosťami myslela, najprv ho nasledovala a potom zbehla dole.
Na verande stála Petya, ktorá sa zaoberala vyzbrojovaním ľudí, ktorí cestovali z Moskvy. Na dvore ešte stáli položené vozne. Dvaja z nich boli odviazaní a na jedného z nich vyliezol dôstojník podporovaný netopierím mužom.
- Vieš prečo? - spýtala sa Petya Natashe (Natasha si uvedomila, že Petya pochopila: prečo sa otec a matka hádali). Neodpovedala.
"Pretože otec chcel dať všetky vozíky raneným," povedala Petya. "Vassilyitch mi povedal." Podľa mňa…
"Podľa mňa," takmer zrazu skríkla Natasha a obrátila svoju zatrpknutú tvár k Petyi, "podľa mňa je to také nechutné, taká ohavnosť, taká... neviem!" Sme nejakí Nemci? .. - Hrdlo sa jej chvelo od kŕčovitých vzlykov a ona, zo strachu, že zoslabne a uvoľní nával hnevu pre nič za nič, sa otočila a rýchlo vybehla hore schodmi. Berg sedel vedľa grófky a láskavo ju utešoval. Gróf s fajkou v ruke kráčal po izbe, keď Nataša s tvárou znetvorenou hnevom vtrhla do izby ako búrka a rýchlo sa priblížila k matke.
- To je nechutné! Toto je ohavnosť! skríkla. "Nemôže to byť to, čo si si objednal."
Berg a grófka na ňu zmätene a so strachom pozerali. Gróf sa zastavil pri okne a počúval.
- Mami, to nie je možné; pozri, čo je na dvore! skríkla. - Oni zostávajú!
- Čo sa ti stalo? Kto sú oni? Čo chceš?
- Ranení, to je kto! To je nemožné, matka; to nie je ako nič ... Nie, mama, moja drahá, nie je to tak, prosím, odpusť mi, moja drahá ... Mama, no, čo potrebujeme, čo odnesieme, stačí sa pozrieť, čo je v dvor... mami! .. Toto nemôže byť!...
Gróf stál pri okne a bez toho, aby otočil tvár, počúval Natašine slová. Zrazu si odfrkol a priložil tvár blízko k oknu.
Grófka sa pozrela na svoju dcéru, videla jej tvár, ktorá sa hanbila za matku, videla jej vzrušenie, pochopila, prečo sa jej manžel teraz na ňu neobzrel, a rozhliadla sa okolo seba so zmäteným pohľadom.
„Ach, rob, ako chceš! Obťažujem niekoho! povedala a ešte sa zrazu nevzdala.
- Mami, moja drahá, odpusť mi!
Ale grófka odstrčila dcéru a podišla ku grófovi.
- Mon cher, zlikviduj to tak, ako sa patrí... Toto neviem, - povedala a previnilo sklopila oči.
"Vajcia...vajcia učia sliepku..." povedal gróf cez šťastné slzy a objal svoju manželku, ktorá bola rada, že skryla svoju zahanbenú tvár na hrudi.
-Ocko, mama! vieš zariadiť? Je to možné? .. - spýtala sa Natasha. "Stále si vezmeme všetko, čo potrebujeme," povedala Natasha.
Gróf súhlasne prikývol hlavou a Nataša rýchlym behom, s ktorým narazila na horáky, sa rozbehla chodbou do haly a po schodoch na nádvorie.
Ľudia sa zhromaždili neďaleko Natashe a dovtedy nemohli uveriť podivnému rozkazu, ktorý odovzdala, až kým samotný gróf v mene svojej manželky nepotvrdil príkazy dať všetky vozíky pod ranených a odniesť truhlice do špajze. Po pochopení objednávky sa ľudia s radosťou a problémami pustili do nového podnikania. Teraz sa to služobníctvu nielenže nezdalo čudné, ale naopak, zdalo sa, že to ani inak nemôže byť, tak ako sa pred štvrťhodinou nielenže nikomu nezdalo čudné, že odchádzajú od ranených. a brať veci, ale zdalo sa, že to nemohlo byť inak.
Všetky domácnosti, ako keby doplatili na to, že to nezačali už skôr, sa pustili do nepríjemnej novej práce s ubytovaním ranených. Ranení vyliezli zo svojich izieb a obklopili vozne s radostnými bledými tvárami. Aj v susedných domoch sa rozniesla chýr, že sú tam povozy a na dvor Rostovcov začali prichádzať ranení z iných domov. Mnohí ranení žiadali, aby si veci nevyzliekali a len si ich dali navrch. Ale akonáhle sa podnikanie s dumpingom začalo, už sa nedalo zastaviť. Všetko bolo rovnaké nechať všetko alebo polovicu. Na dvore ležali nevyčistené truhlice s riadom, s bronzom, s obrazmi, zrkadlami, ktoré minulú noc tak starostlivo zabalili a každý hľadal a nachádzal príležitosť odložiť to a to a rozdať ďalšie a ďalšie vozíky.
„Stále si môžete zobrať štyri,“ povedal manažér, „dám svoj voz, inak kde sú?
"Áno, dajte mi moju šatňu," povedala grófka. Dunyasha si so mnou sadne do koča.
Dali aj obväzový voz a poslali ho pre ranených cez dva domy. Celá domácnosť a služobníctvo boli veselo animované. Natasha bola v nadšene veselej animácii, akú už dlho nezažila.
- Kde to môžem uviazať? - povedali ľudia a pripevnili truhlu na úzku zadnú časť koča, - musíte nechať aspoň jeden vozík.
- Áno, s čím je? spýtala sa Natasha.
- S počítacími knihami.
- Nechaj to tak. Vasilyich ho odstráni. Nie je to nutné.
Vozík bol plný ľudí; pochyboval, kde bude sedieť Peter Iľjič.
- Je na kozách. Ty si predsa na koze, Peťo? skríkla Natasha.
Sonya sa tiež bez prestania zaoberala; ale cieľom jej problémov bol opak Natašiných. Odložila tie veci, ktoré mali zostať; napísal ich na žiadosť grófky a snažil sa vziať so sebou čo najviac.

O druhej hodine stáli štyri posádky Rostov, uložené a uložené, pri vchode. Vozíky s ranenými, jeden za druhým, vyháňali z dvora.
Kočík, v ktorom sa niesol princ Andrei a prechádzal cez verandu, pritiahol pozornosť Sonya, ktorá spolu s dievčaťom zariaďovala miesta pre grófku vo svojom obrovskom vysokom koči, ktorý stál pri vchode.
Koho je toto invalidný vozík? spýtala sa Sonya a vyklonila sa z okna koča.
"Nevieš, mladá dáma?" odpovedala slúžka. - Princ je ranený: prenocoval u nás a idú s nami aj oni.
- Áno, kto to je? aké je priezvisko?
- Náš bývalý snúbenec, princ Bolkonskij! - Povzdychla, odpovedala slúžka. Hovoria umieranie.
Sonya vyskočila z koča a rozbehla sa ku grófke. Grófka, už oblečená na cestu, v šatkách a klobúku, unavená obchádzala obývačku a čakala na svoju rodinu, aby si pred odchodom sadla so zatvorenými dverami a pomodlila sa. Natasha v izbe nebola.
"Maman," povedala Sonya, "princ Andrei je tu, zranený, blízko smrti." Jazdí s nami.
Grófka vystrašene otvorila oči, chytila ​​Sonyu za ruku a rozhliadla sa.
- Natasha? povedala.
A pre Sonyu a pre grófku mala táto správa v prvej minúte iba jeden význam. Poznali svoju Natashu a hrôza z toho, čo sa jej pri tejto správe stane, prehlušila v nich všetky sympatie k mužovi, ktorého obaja milovali.
- Nataša ešte nevie; ale ide s nami,“ povedala Sonya.
Hovoríš o umieraní?
Sonya prikývla hlavou.
Grófka objala Sonyu a začala plakať.
"Boh pôsobí záhadnými spôsobmi!" pomyslela si a cítila, že vo všetkom, čo sa teraz robí, sa začína objavovať všemohúca ruka, ktorá bola predtým pred očami ľudí skrytá.
- No, mami, všetko je pripravené. O čom to hovoríš? .. - spýtala sa Natasha so živou tvárou a vbehla do izby.
"Nič," povedala grófka. - Hotovo, poďme. A grófka sa sklonila nad kabelkou, aby zakryla rozrušenú tvár. Sonya objala Natashu a pobozkala ju.
Natasha sa na ňu spýtavo pozrela.
- Čo ty? Čo sa stalo?
- Nič tam nie je…
- Veľmi zlé pre mňa? .. Čo to je? spýtala sa citlivá Nataša.

IN asociatívna pamäť prvky sa nevyberajú podľa adresy, ale podľa obsahu. Vysvetlíme si posledný pojem podrobnejšie. Pre pamäť s organizáciou adries bol predstavený koncept minimálna adresovateľná jednotka(MAE) ako údaj, ktorý má individuálnu adresu. Predstavme si podobný koncept pre asociatívna pamäť, a my budeme túto minimálnu úložnú jednotku asociatívna pamäť hovor reťazec asociatívnej pamäte(Popruh). Každý StrAP obsahuje dve polia: pole tagu a dátové pole. Požiadavka na čítanie do asociatívnej pamäte môže byť vyjadrená slovami nasledovne: vyberte riadok (riadky), ktorých značka sa rovná zadanej hodnote.

Pri takomto dopyte je možný najmä jeden z troch výsledkov:

  1. je tam presne jeden riadok s daným tagom;
  2. existuje viacero riadkov s danou značkou;
  3. neexistuje žiadny riadok s danou značkou.

Vyhľadávanie záznamu podľa atribútu je činnosť typická pre databázové prístupy a vyhľadávanie v databáze je často asociatívne vyhľadávanie. Ak chcete vykonať takéto vyhľadávanie, musíte si prezrieť všetky záznamy a porovnať danú značku so značkou každého záznamu. Dá sa to urobiť aj pri použití bežnej adresovateľnej pamäte na ukladanie záznamov (a je jasné, že to bude vyžadovať veľa času - úmerne počtu uložených záznamov!). O asociatívna pamäť povedzme, keď je hardvérom podporované asociatívne načítanie údajov z pamäte. Pri zápise do asociatívnej pamäte sa dátový prvok umiestni do StrAP spolu s tagom, ktorý je tomuto prvku vlastný. Na tento účel môžete použiť akýkoľvek bezplatný STRAP. Zvážte rôzne štrukturálne usporiadanie vyrovnávacej pamäte alebo spôsoby mapovania pamäte RAM do vyrovnávacej pamäte.

Plne asociatívna vyrovnávacia pamäť

Schéma plne asociatívnej vyrovnávacej pamäte je znázornená na obrázku (pozri obrázok nižšie).

Popíšme algoritmus fungovania systému s vyrovnávacou pamäťou. Na začiatku operácie je vyrovnávacia pamäť prázdna. Po vykonaní prvého príkazu počas načítania sa jeho kód, ako aj niekoľko ďalších susedných bajtov kódu programu prenesie (pomaly) do jedného z riadkov vyrovnávacej pamäte a zároveň sa prenesie horná časť adresy sa zapíše do zodpovedajúcej značky. Takto sa plní riadok cache.

Ak sú ďalšie aporty možné z tejto sekcie, budú uskutočnené z HOTOVOSTI (rýchlo) - "CASH hit". Ak sa ukáže, že požadovaný prvok nie je v cache, - "CASH miss". V tomto prípade sa pristupuje k RAM (pomaly) a súčasne sa vypĺňa ďalší riadok vyrovnávacej pamäte.

Plne asociatívny diagram vyrovnávacej pamäte

Prístup k vyrovnávacej pamäti je nasledujúci. Po vytvorení vykonávacej adresy sa hardvérovo (rýchlo) a súčasne porovnávajú jej vysoké bity, ktoré tvoria tag, s tagmi všetkých riadkov cache. V tomto prípade sú možné iba dve situácie z troch uvedených vyššie: buď všetky porovnania poskytnú negatívny výsledok (CASH miss), alebo pozitívny výsledok porovnania bude zaznamenaný presne pre jeden riadok (CASH hit).

Pri čítaní, ak je CACHE hit pevný, dolné bity adresy určujú pozíciu v riadku cache, z ktorej sa majú vyberať bajty, a typ operácie určuje počet bajtov. Je zrejmé, že ak dĺžka dátového prvku presahuje jeden bajt, potom sú možné situácie, keď sa tento prvok (po častiach) nachádza v dvoch (alebo viacerých) rôznych riadkoch vyrovnávacej pamäte, potom sa čas na získanie takéhoto prvku predĺži. Tomu možno čeliť zoradením operandov a inštrukcií pozdĺž hraníc vyrovnávacej pamäte, čo sa berie do úvahy pri vývoji optimalizačných prekladačov alebo pri manuálnej optimalizácii kódu.

Ak dôjde k vynechaniu cache a v cache nie sú žiadne voľné riadky, musíte jeden riadok cache nahradiť iným riadkom.

Hlavným účelom stratégie nahradenia je uchovať vo vyrovnávacej pamäti linky, ku ktorým sa s najväčšou pravdepodobnosťou pristúpi v blízkej budúcnosti, a nahradiť linky, ku ktorým sa pristúpi vo vzdialenejšom čase alebo vôbec. Je zrejmé, že optimálny algoritmus bude ten, ktorý nahradí linku, ku ktorej sa v budúcnosti pristúpi neskôr, ako ktorákoľvek iná linka vyrovnávacej pamäte.

Žiaľ, takáto predpoveď je prakticky nerealizovateľná a človek sa musí uchýliť k algoritmom, ktoré sú horšie ako optimálny. Bez ohľadu na použitý náhradný algoritmus musí byť implementovaný v hardvéri, aby sa dosiahla vysoká rýchlosť.

Spomedzi mnohých možných substitučných algoritmov sú štyri najbežnejšie, zvažované v klesajúcom poradí ich relatívnej účinnosti. Ktorýkoľvek z nich je možné použiť v plne asociatívnej vyrovnávacej pamäti.

Najúčinnejší je náhradný algoritmus založený na najstaršom použití ( LRU – Najmenej nedávno použité ), ktorý nahrádza riadok vyrovnávacej pamäte, ku ktorému sa najdlhšie nepristupovalo. Štúdie ukázali, že algoritmus LRU, ktorý sa „pozerá“ dozadu, funguje celkom dobre v porovnaní s optimálnym algoritmom, ktorý sa „pozerá“ dopredu.

Najznámejšie sú dva spôsoby hardvérovej implementácie tohto algoritmu. V prvom z nich je ku každému riadku vyrovnávacej pamäte priradené počítadlo. K obsahu všetkých počítadiel sa v určitých intervaloch pridáva jedna. Pri prístupe k reťazcu sa jeho počítadlo vynuluje. Najväčšie číslo bude teda v počítadle riadku, ku ktorému sa najdlhšie nepristupovalo a tento riadok je prvým kandidátom na nahradenie.

Druhý spôsob je implementovaný pomocou frontu, kde sa odkazy na tieto riadky zadávajú v poradí, v akom sú vyplnené riadky vyrovnávacej pamäte. Pri každom prístupe k reťazcu sa jeho odkaz presunie na koniec frontu. Výsledkom je, že prvý vo fronte je zakaždým odkazom na reťazec, ku ktorému sa nepristupovalo najdlhšie. Je to tento riadok, ktorý je nahradený ako prvý.

Ďalším možným náhradným algoritmom je algoritmus prvý dovnútra, prvý von ( FIFO-prvý dnu, prvý von ). Toto nahradí riadok, ktorý bol v cache najdlhšie. Algoritmus je ľahko implementovaný pomocou frontu diskutovaného vyššie, len s tým rozdielom, že po prístupe k reťazcu sa pozícia zodpovedajúceho odkazu vo fronte nezmení.

Ďalším algoritmom je nahradenie najmenej často používaného reťazca (LFU - Least Frequently Used). Riadok vo vyrovnávacej pamäti, ktorý bol najmenej prístupný, je nahradený. Princíp sa dá uviesť do praxe tak, že každý riadok sa priradí k počítadlu zásahov, k obsahu ktorého sa po každom zásahu pridá jeden. Hlavným kandidátom na výmenu je reťazec, ktorého počítadlo obsahuje najmenšie číslo.

Najjednoduchším algoritmom je ľubovoľná voľba reťazca, ktorý sa má nahradiť. Náhradný reťazec je vybraný náhodne. Dá sa to realizovať napríklad pomocou počítadla, ktorého obsah sa každým taktovacím impulzom zvyšuje o jednotku bez ohľadu na to, či došlo k zásahu alebo chybe. Hodnota v počítadle určuje reťazec, ktorý sa má nahradiť.

Okrem tagu a dátových bajtov môže riadok vyrovnávacej pamäte obsahovať ďalšie servisné polia, medzi ktorými by mal byť predovšetkým bit platnosti V (z platný - platný) a modifikačný bit M (z modifikovať - ​​zmeniť, upraviť). poznamenal. Keď sa zaplní ďalší riadok vyrovnávacej pamäte, V sa nastaví do stavu „platný“ a M sa nastaví do stavu „neupravené“. Ak sa obsah tohto riadku počas vykonávania programu zmenil, prepne sa bit M, čo signalizuje, že pri výmene tohto riadku je potrebné jeho obsah prepísať do RAM. Ak sa z nejakého dôvodu zmenila kópia prvku tohto reťazca uloženého inde (napríklad v RAM), prepne sa bit V. Pri prístupe k takémuto reťazcu sa zaznamená chyba cache (napriek tomu, že sa značka zhoduje ) a volanie sa uskutoční do hlavnej pamäte RAM. Okrem toho môže pole služby obsahovať bity, ktoré podporujú algoritmus LRU.

Odhad objemu zariadenia

Typické množstvo vyrovnávacej pamäte v modernom systéme je 8 ... 1024 kb a dĺžka riadku vyrovnávacej pamäte je 4 ... 32 bajtov. Ďalšie hodnotenie sa robí pre veľkosť vyrovnávacej pamäte 256 KB a dĺžku linky 32 bajtov, čo je typické pre systémy s procesormi Pentium a PentiumPro. Dĺžka značky je 27 bitov a počet riadkov vo vyrovnávacej pamäti bude 256 kB/ 32=8192. Toľko digitálnych komparátorov 27 bitových kódov bude potrebných na implementáciu vyššie uvedenej štruktúry.

Hrubý odhad nákladov na vybavenie na stavbu digitálneho komparátora udáva hodnotu 10 tranzistorov / bit a celkový počet tranzistorov v samotnom komparátorovom bloku sa bude rovnať:

10*27*8192 = 2 211 840,

čo je približne jedenapolkrát menej ako celkový počet tranzistorov na čipe Pentium. Je teda zrejmé, že opísaná štruktúra plne asociatívnej vyrovnávacej pamäte () je realizovateľná len s malým počtom riadkov vo vyrovnávacej pamäti, t.j. s malým množstvom vyrovnávacej pamäte (prakticky nie viac ako 32 ... 64 riadkov). Väčšia vyrovnávacia pamäť je postavená podľa inej štruktúry.

Nájdenie čísla rámca zodpovedajúceho požadovanej stránke vo viacúrovňovej tabuľke stránok vyžaduje niekoľko prístupov do hlavnej pamäte, a preto zaberie veľa času. V niektorých prípadoch je takéto oneskorenie neprijateľné. Problém zrýchlenia vyhľadávania je riešený na úrovni počítačovej architektúry.

Kvôli vlastnosti lokality väčšina programov pristupuje na určitý čas k malému počtu stránok, takže sa aktívne používa iba malá časť tabuľky stránok.

Prirodzeným riešením problému zrýchlenia je poskytnúť počítaču hardvérové ​​zariadenie na mapovanie virtuálnych stránok na fyzické stránky bez prístupu k tabuľke stránok, to znamená mať malú, rýchlu vyrovnávaciu pamäť, ktorá ukladá časť tabuľky stránok, ktorá je momentálne potrebné. Toto zariadenie sa nazýva asociatívna pamäť, niekedy sa používa aj termín prekladový vyhľadávací buffer (TLB).

Jeden záznam tabuľky v asociatívnej pamäti (jeden záznam) obsahuje informácie o jednej virtuálnej stránke: jej atribúty a rámec, v ktorom sa nachádza. Tieto polia presne zodpovedajú poliam v tabuľke stránok.

Pretože asociatívna pamäť obsahuje len niektoré záznamy tabuľky stránok, každý záznam v TLB musí obsahovať pole s číslom virtuálnej stránky. Pamäť sa nazýva asociatívna, pretože súčasne porovnáva číslo zobrazenej virtuálnej stránky s príslušným poľom vo všetkých riadkoch tejto malej tabuľky. Preto je tento typ pamäte pomerne drahý. Riadok, ktorého pole virtuálnej stránky sa zhoduje s hľadanou hodnotou, obsahuje číslo rámca stránky. Typický počet záznamov v TLB je od 8 do 4096. Rast počtu záznamov v asociatívnej pamäti musí brať do úvahy faktory, ako je veľkosť vyrovnávacej pamäte hlavnej pamäte a počet prístupov do pamäte na inštrukciu.

Zvážte fungovanie správcu pamäte v prítomnosti asociatívnej pamäte.

Po prvé, informácie o mapovaní virtuálnej stránky na fyzickú sa nachádzajú v asociatívnej pamäti. Ak sa nájde požadovaný záznam, všetko je v poriadku, okrem porušenia privilégií, kedy je žiadosť o prístup do pamäte zamietnutá.

Ak požadovaný záznam v asociatívnej pamäti neexistuje, mapovanie sa vykoná cez tabuľku stránok. Jeden zo záznamov v asociatívnej pamäti je nahradený nájdeným záznamom z tabuľky stránok. Tu sa stretávame s tradičným problémom s výmenou akejkoľvek vyrovnávacej pamäte (konkrétne s tým, ktorý z položiek vo vyrovnávacej pamäti je potrebné zmeniť). Návrh asociatívnej pamäte musí organizovať záznamy takým spôsobom, aby bolo možné rozhodnúť, ktorý zo starých záznamov sa má vymazať, keď sa zavedú nové.

Počet úspešných vyhľadávaní čísla stránok v asociatívnej pamäti vo vzťahu k celkovému počtu vyhľadávaní sa nazýva pomer zhody (proporcie, pomer). Niekedy sa používa aj výraz „percento zásahu do vyrovnávacej pamäte“. Pomer prístupov je teda zlomkom odkazov, ktoré je možné vytvoriť pomocou asociatívnej pamäte. Odkazovanie na rovnaké stránky zvyšuje pomer prístupov. Čím vyšší je pomer zásahov, tým nižší je priemerný čas prístupu k údajom v RAM.

Predpokladajme napríklad, že určenie adresy v prípade vynechania vyrovnávacej pamäte v tabuľke stránok trvá 100 ns a určenie adresy v prípade nájdenia vyrovnávacej pamäte cez asociatívnu pamäť 20 ns. Pri 90% pomere zásahov je priemerný čas rozlíšenia adresy 0,9x20 + 0,1x100 = 28 ns.

Celkom prijateľný výkon moderných operačných systémov dokazuje efektívnosť využívania asociatívnej pamäte. Vysoká hodnota pravdepodobnosti nájdenia údajov v asociatívnej pamäti je spojená s prítomnosťou objektívnych vlastností údajov: priestorovej a časovej lokality.

Je potrebné venovať pozornosť nasledujúcej skutočnosti. Pri prepínaní kontextu procesov je potrebné zabezpečiť, aby nový proces „nevidel“ v asociatívnej pamäti informácie súvisiace s predchádzajúcim procesom, napr. Použitie asociatívnej pamäte teda zvyšuje čas prepínania kontextu.

Uvažovaná dvojúrovňová (asociatívna pamäť + tabuľka stránok) adresa konverzie je názorným príkladom pamäťovej hierarchie založenej na využití princípu lokality, o ktorej sme hovorili v úvode predchádzajúcej prednášky.

Asociačná pamäť

Hovorí sa, že pamäť stojí na troch pilieroch: asociácie, imprinting, opakovanie. Je však potrebné tento model dodržiavať? Dômyselní čitatelia ľahko uvidia analógiu s dávnymi predstavami o svetovom poriadku a o Zemi, ktorá má rovný povrch. Je však potrebné tento model dodržiavať? Pokiaľ vám však starý model vyhovuje, môžete ho úspešne používať v každodennej praxi.

Asociácie sú neviditeľné stopy, ktoré pevne spájajú to, čo si už dobre pamätáme, s tým, čo si treba zafixovať v pamäti.

Asociačná pamäť môcť A nevyhnutné rozvíjať a trénovať. S aplikáciou vedomého úsilia bude hľadanie asociácií oveľa rýchlejšie a časom môže zručnosť prejsť na nevedomú úroveň, asociácie budú samy od seba a zapamätanie si informácií bude čoraz jednoduchšie.

Ale dosť bolo teórie, je čas prejsť priamo na jednoduché a úplne ľahké cvičenia!

Takže ste prečítali 50 slov, ktoré predstavujú zodpovedajúce obrázky čo najživšie, vo farbách a pohyboch. Teraz skúste spojiť všetky slová do jedného dlhého príbehu alebo niekoľkých krátkych: mačka, dom, auto, jablko ...

kľúč

Bielo-červená MAČKA vošla do červeného tehlového DOMU, vošla do pristavenej garáže, nastúpila do karmínového AUTA, vybehla na diaľnicu a ľavou labkou riadila volant a hrýzla zelené JABLKO, ktoré ho držalo. s jej pravou labkou.

V tejto fáze vývoja pamäte nie je potrebné pamätať si slová. Urobíte to o niečo neskôr, ľahko a bez námahy. Teraz neodporúčam preťažovať sa komplexnými cvikmi. Chcete dosiahnuť veľmi vysokú úroveň pamäte? Pre väčšinu ľudí je efektívnejšie pohybovať sa postupným zvyšovaním úrovne obtiažnosti postupne, ale pravidelne.

Tento text je úvodným dielom. Z knihy Psychológia inteligencie a nadania autora Ushakov Dmitrij Viktorovič

Spôsoby tvorivého myslenia, asociatívna sieť a rozdelená pozornosť Myšlienky mechanizmov, ktoré možno prirovnať k intuitívnemu pólu myslenia v modernej psychológii, siahajú až do diel S. Medníka. Začiatkom 60. rokov navrhol, že jednotlivec

autora Müller Stanislav

Časť I. Ako zdvojnásobiť svoju pamäť za štyridsaťpäť minút alebo Úvod do holografickej pamäte Ako to všetko začalo... Pred niekoľkými rokmi, po skončení poslednej hodiny pamäte, sa študent sťažuje na výsledky.

Z knihy Odomknite svoju pamäť: Zapamätajte si všetko! autora Müller Stanislav

Asociačná pamäť Hovorí sa, že pamäť stojí na troch pilieroch: asociácia, imprinting, opakovanie. Je však potrebné držať sa tohto modelu? Inteligentní čitatelia môžu ľahko vidieť analógiu s dávnymi predstavami o svetovom poriadku a o Zemi, ktorá má ploché

Z knihy Odomknite svoju pamäť: Zapamätajte si všetko! autora Müller Stanislav

Asociačná pamäť Rovnaká hra (alebo cvičenie, ak chcete) na spájanie slov, ale len za účasti dotykových vnemov. Vymyslite jeden príbeh, ktorý bude obsahovať všetkých päťdesiat slov, alebo niekoľko krátkych, ktoré sú na začiatku párne

Z knihy Odomknite svoju pamäť: Zapamätajte si všetko! autora Müller Stanislav

Asociatívna pamäť Rovnaká hra (alebo cvičenie) na priraďovanie slov, ale so zvukmi a dotykmi. Vymyslite jeden alebo viac príbehov, ktoré obsahujú päťdesiat slov. Rovnakým spôsobom preskočíme ťažké slová. Hoci, ak existuje túžba a

Z knihy Odomknite svoju pamäť: Zapamätajte si všetko! autora Müller Stanislav

Asociačná pamäť Vymyslite jeden príbeh obsahujúci všetkých päťdesiat slov alebo niekoľko krátkych. Ťažké slová sa teraz nepreskakujú. Zostavenie príbehu by pre vás už nemalo byť ťažké. Pamätajte na slová alebo príbehy v tejto fáze vývoja asociatívneho

autora Müller Stanislav

I. časť Ako zdvojnásobiť pamäť za 45 minút alebo úvod do holografickej pamäte „Na začiatku slávnych činov...“ Pred niekoľkými rokmi, po skončení poslednej hodiny o rozvoji pamäti, sa mi jeden zo študentov posťažoval: - Stanislav, ľudia chodia k vám, do

Z knihy Pamätaj si všetko [Tajomstvá super pamäte. Školiaca kniha] autora Müller Stanislav

Asociačná pamäť Hovorí sa, že pamäť stojí na troch pilieroch: asociácie, imprinting, opakovanie. Je však potrebné tento model dodržiavať? Dômyselní čitatelia môžu ľahko vidieť analógiu s dávnymi predstavami o svetovom poriadku a o Zemi, ktorá má byt

Z knihy Začnime odznova alebo Ako vidieť svoj zajtrajšok autora Kozlov Nikolaj Ivanovič

Pamäť na minulosť a pamäť na budúcnosť Moji kolegovia psychológovia, výskumníci pamäti, tvrdia, že naše pamäťové rezervy sú prakticky nevyčerpateľné. Naša hlava nám stačí na to, aby sme si pamätali všetko a vždy: ten náhodný rozhovor na ulici a kolísanie každej vetvy toho

Z knihy Psychológia dospelosti autora Iľjin Jevgenij Pavlovič

Asociatívna metodika diagnostiky osobnostnej zrelosti Autori: E. V. Kalyaeva, T. V. ProkofievaInstruction. Vaša pozornosť je pozvaná na množstvo slov. Zamyslite sa nad tým, aké asociácie každé z týchto slov vyvoláva, zapíšte si ich.Ponúka sa 35 charakteristík, ktoré prezrádzajú pojem

Z knihy Vývojová psychológia [Metódy výskumu] od Millera Scotta

„Každodenná“ pamäť a dlhodobá pamäť Zvážte ešte dve otázky súvisiace s témou „Pamäť“. Doposiaľ sa pozornosť sústredila na štandardné laboratórne metódy, ktoré sa často používajú pri štúdiu pamäti v akomkoľvek veku. Posledné dve

Z knihy Všeobecná psychológia autor Dmitrieva N Yu

8. Asociačná psychológia V procese formovania psychológie začal prevládať asociatívny prístup k vnímaniu. Asociačná psychológia je jedným z hlavných smerov psychológie 17.–19. Hlavným vysvetľujúcim princípom duševného života bol pojem

Z knihy Všetko najlepšie, čo sa za peniaze nedá kúpiť. Svet bez politiky, chudoby a vojen autor Fresco Jacques

od Newberga Andrewa

Z knihy Tajomstvo Boha a veda o mozgu [Neurobiológia viery a náboženskej skúsenosti] od Newberga Andrewa

Z knihy Tajomstvo Boha a veda o mozgu [Neurobiológia viery a náboženskej skúsenosti] od Newberga Andrewa