Memoria asociativă

Memoria asociativă (AP) sau dispozitivul de stocare asociativ (AMU) este un tip special de memorie de calculator folosit în aplicațiile de căutare foarte rapide. De asemenea, cunoscut sub numele de memorie adresabilă de conținut, stocare asociativă, memorie adresabilă de conținut sau matrice asociativă , deși ultimul termen este mai frecvent folosit în programare pentru a se referi la o structură de date (Hannum et al., 2004).

Matrice asociativă hardware

Spre deosebire de memoria convențională a mașinii (memorie cu acces aleatoriu sau RAM), în care utilizatorul specifică o adresă de memorie și RAM returnează cuvântul de date stocat la acea adresă, UA este proiectat astfel încât utilizatorul specifică cuvântul de date și UA îl caută. pentru a afla dacă este stocat undeva în memorie. Dacă se găsește un cuvânt de date, UA returnează o listă cu una sau mai multe adrese de stocare unde a fost găsit cuvântul (și, pe unele arhitecturi, returnează, de asemenea, cuvântul de date în sine sau alte date asociate). Astfel, AP este o implementare hardware a ceea ce în termeni de programare s-ar numi o matrice asociativă.

Conținut de memorie adresabil standardelor din industrie

Definiția unei interfețe de bază pentru UA și alte elemente de căutare în rețea (NSE) a fost specificată într-un acord de interoperabilitate numit Interfața Look-Aside ( LA-1 și LA-1B ), care a fost dezvoltat de Forumul de procesare a rețelei, care a fost ulterior a fuzionat în Optical Internetworking Forum (OIF). Numeroase dispozitive au fost fabricate de Integrated Device Technology, Cypress Semiconductor, IBM, Netlogic Micro Systems și alții în cadrul acestor acorduri LA. La 11 decembrie 2007, OIF a publicat acordul de interfață Serial Lookaside ( SLA ).

Implementare pe semiconductori

Deoarece AP-ul este proiectat să caute toată memoria într-o singură operațiune, aceasta este mult mai rapidă decât căutarea RAM în aproape toate aplicațiile de căutare. Cu toate acestea, există un dezavantaj la costul mai mare al AP. Spre deosebire de cipul RAM, care are stocări simple, fiecare bit individual de memorie dintr-un AP complet paralel trebuie să aibă propriul circuit de comparație atașat pentru a detecta o potrivire între bitul stocat și bitul de intrare. În plus, rezultatele comparațiilor din fiecare celulă din cuvântul de date trebuie să fie combinate pentru a obține rezultatul complet al comparației pentru cuvântul de date. Circuitul suplimentar mărește dimensiunea fizică a cipului AP, ceea ce crește costul de producție. Circuitul suplimentar mărește și disiparea puterii, deoarece toate circuitele de comparație sunt active la fiecare ciclu de ceas. În consecință, AM este utilizat numai în aplicații specializate în care viteza de căutare nu poate fi atinsă folosind alte metode, mai puțin costisitoare.

Implementări alternative

Pentru a obține un echilibru diferit între viteză, dimensiunea memoriei și cost, unele implementări emulează funcțiile AP utilizând algoritmi standard de căutare în arbore sau hashing implementați hardware, folosind, de asemenea, trucuri hardware, cum ar fi replicarea și pipelining, pentru a accelera funcționarea eficientă. Aceste modele sunt adesea folosite în routere.

Memoria asociativă ternară

AA binară este cel mai simplu tip de memorie asociativă care utilizează cuvinte de căutare a datelor compuse în întregime din 1 și 0. În memoria ternară de conținut adresabil (TCAM [1] ) se adaugă o a treia valoare pentru a compara „X” sau „nu-mi pasă” pentru unul sau mai mulți biți din cuvântul de date stocat, adăugând o flexibilitate suplimentară de căutare.

De exemplu, un UA ternar ar putea stoca cuvântul „10XX0”, care s-ar potrivi cu oricare dintre cele patru cuvinte de căutare „10000”, „10010”, „10100” sau „10110”. Adăugarea de flexibilitate la căutare vine cu prețul unei complexități crescute a memoriei, deoarece celulele interne trebuie acum să codifice trei stări posibile în loc de două. Această stare suplimentară este de obicei implementată prin adăugarea unui bit de mască "important" ("important"/"neimportant") la fiecare locație de memorie.

Exemple de aplicații

Memoria adresabilă conținutului este adesea folosită în dispozitivele de rețea de calculatoare. De exemplu, atunci când un comutator de rețea primește un cadru de date pe unul dintre porturile sale, acesta actualizează un tabel intern cu originea adresei MAC a cadrului și portul pe care a fost primit. Apoi caută adresa MAC de destinație într-un tabel pentru a determina la ce port ar trebui să fie trimis cadrul și o trimite către acel port. Tabelul de adrese MAC este de obicei implementat pe un AP binar, astfel încât portul de destinație poate fi găsit foarte rapid, reducând latența comutatorului.

AP-urile ternare sunt adesea folosite în acele routere de rețea în care fiecare adresă are două părți: (1) adresa de rețea, care se poate modifica în dimensiune în funcție de configurația subrețelei și (2) adresa gazdă, care ocupă biții rămași. Fiecare subrețea are o mască de rețea care determină care biți sunt adresa rețelei și care biți sunt adresa gazdei. Rutarea se face prin verificarea față de tabelul de rutare menținut de router. Conține toate adresele de rețea de destinație cunoscute, masca de rețea asociată acestora și informațiile necesare pachetelor direcționate către acea destinație. Un router implementat fără UA compară adresa de destinație a pachetului de împărțit cu fiecare intrare din tabelul de rutare, făcând un AND logic cu masca de rețea și comparând rezultatele cu adresa de rețea. Dacă sunt egale, informațiile de direcție corespunzătoare sunt utilizate pentru a trimite pachetul. Utilizarea unui UA ternar pentru tabelul de rutare face ca procesul de căutare să fie foarte eficient. Adresele sunt stocate folosind bitul care nu se preocupă în partea de adresă gazdă, astfel încât căutarea adresei de destinație în UA regăsește imediat intrarea corectă în tabelul de rutare; ambele operațiuni - aplicarea măștii și compararea - sunt efectuate de hardware-ul AP-ului.

Alte aplicații AP includ

Vezi și

Note

  1. Ghid de certificare a examenului CCNP BCMSN: CCNP Self-study - David Hucaby - Google Books . Consultat la 7 aprilie 2015. Arhivat din original pe 4 martie 2016.

Literatură

În engleză

Link -uri

În limba engleză: