Ce este Direct Mapping?

Maparea directă este o metodă de stocare a informațiilor pentru acces ușor pe un computer. Informațiile utilizate recent sunt stocate într-un cache, astfel încât computerul să poată găsi rapid informațiile data viitoare când este nevoie. În programarea computerelor, un cache este o mică secțiune de memorie cu acces aleatoriu (RAM) care este pusă deoparte în scopul recuperării cu ușurință a datelor. Cu maparea directă, fiecărei date din memorie i se atribuie un spațiu în cache, pe care îl partajează cu alte date. Datele din cache sunt în mod constant suprascrise deoarece sunt necesare date noi.

Un cache este organizat în linii. Fiecare linie este suficient de mare pentru a stoca un bloc de date și o etichetă pentru a identifica de unde provin datele. Când un utilizator solicită o bucată de date, computerul scanează mai întâi memoria cache pentru a vedea dacă informațiile sunt acolo. Dacă este, informațiile sunt returnate utilizatorului. Aceasta este cunoscută ca o lovitură în cache, care este mai rapidă decât recuperarea datelor din locația inițială.

Procentul de solicitări care are ca rezultat accesări în cache se numește rata de accesare. Dacă datele solicitate de utilizator nu sunt în cache, computerul le va găsi în memorie. O copie a datelor va fi depusă în cache, astfel încât să poată fi găsită rapid data viitoare când utilizatorul o solicită, teoretic crescând rata de accesare. Toate acestea se întâmplă în culise. Utilizatorul nu știe dacă datele primite provin din cache sau din memorie.

Maparea directă este o metodă de a decide unde vor fi stocate blocurile de memorie în cache. Fiecărui bloc de memorie i se atribuie o linie specifică în cache. Deoarece memoria cache este mai mică decât memoria, mai multe blocuri vor partaja o singură linie în cache. Dacă o linie este deja plină când trebuie scris un bloc nou, un bloc vechi va fi suprascris.

Deși maparea directă este o modalitate foarte simplă și ușoară de a proiecta un cache, prezintă unele probleme. Dacă un program accesează continuu mai multe blocuri de date care partajează aceeași linie într-un cache de mapare directă, linia va fi rescrisă des. Acest lucru duce la o mulțime de rateuri, deoarece datele de care are nevoie computerul sunt mai puțin probabil să fie datele care se află de fapt în acea linie cache în acest moment. Deci, maparea directă are o rată de accesare mai mică decât alte modele de cartografiere cache.