Adresa de memorie

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , o adresă de memorie este un identificator unic al poziției, locației sau celulei de memorie pe care procesorul sau un alt periferic poate accesa pentru operații de citire sau scriere, de exemplu pentru a salva date pentru a le putea recupera ulterior ( în arhitectura unui procesor bazat pe registre , MAR ( Memory Address Register ) este dedicat adresei de memorie către care indică procesorul pentru a accesa celula de memorie respectivă).

Descriere

În adresarea de octeți , fiecare adresă identifică un singur octet de memorie. Datele care sunt prea mari pentru a se potrivi într-un singur octet pot locui în mai mulți octeți care ocupă o secvență de adrese consecutive. Unele procesoare au fost construite pentru a gestiona adresarea cuvintelor , făcând cea mai mică unitate de spațiu alocabilă mai degrabă un cuvânt decât un octet. Un exemplu a fost Texas Instruments TMS9900 și National Semiconductor IMP-16 , ambele folosind cuvinte pe 16 biți .

Atât memoria virtuală, cât și memoria fizică utilizează adresarea memoriei. Una dintre diferențele referitoare la adresarea memoriei între memoria virtuală și memoria fizică este faptul că cele două moduri de gestionare a adreselor nu sunt neapărat aceleași: de exemplu, memoria virtuală poate conține de două ori mai multe adrese decât memoria fizică. Din aceste motive, dacă există schimb de date între cele două memorii, este necesară o conversie a adresei.

Pentru a facilita fluxul de date conținute în memorii, sistemul de operare împarte de obicei memoria în pagini , fiecare dintre acestea conținând un număr predefinit de adrese de memorie.

Traducerea adreselor nu depinde de software și permite programelor care rulează să funcționeze în același mod, indiferent dacă datele sunt conținute în memoria fizică sau dacă datele se află în memoria virtuală, lăsând sistemului de operare libertatea de alocare și realocare. .

Deoarece dimensiunea memoriei virtuale poate fi semnificativ mai mare decât cantitatea de memorie fizică ( RAM ) disponibilă în sistem, sistemul de operare poate utiliza un fișier de pagină și / sau fișier de swap pentru a muta temporar unele pagini de memorie pe secundar ( hard disk ) atunci când nu sunt folosite sau când procesul care le folosește este într-o stare inactivă.

Foarte des, atunci când se referă la dimensiunea cuvântului unui computer modern, dimensiunea adreselor de memorie virtuală de pe acel computer este definită în același timp. De exemplu, un procesor32 de biți ” tratează de obicei adresele de memorie ca numere întregi codificate pe 32 de biți.

O adresare pe 32 de biți permite computerului să se adreseze octeți de memorie (sau 4 gibibiți ).

Cu toate acestea, computerele mai vechi au acceptat adesea adrese de memorie codate pe un număr de biți mai mare decât dimensiunea cuvântului, altfel capacitatea memoriei ar fi fost redusă drastic. De exemplu, pe 8 biți 6502 a sprijinit adrese de 16 biți, 16 biți Intel 8086 procesor gestionate adrese de 20 de biți , permițând astfel accesul la 1 mebibyte , mai degrabă decât 64 kibibyte .

Un computer a cărui adresare este pe 64 de biți poate gestiona octeți (sau 16 exbibiți ), o dimensiune considerată practic nelimitată.

În funcție de arhitectura de bază, performanța unui computer poate fi degradată prin accesul la memorie nesimetric. De exemplu, un computer pe 16 biți cu o magistrală de memorie pe 16 biți, cum ar fi un Intel 8086, funcționează în general mai eficient dacă datele încep la o adresă uniformă: în acest fel, preluarea unei valori pe 16 biți necesită un singur acces la memorie. În caz contrar, dacă datele încep pe o adresă ciudată, este posibil ca procesorul să aibă nevoie să acceseze memoria de două ori cu o pierdere suplimentară de timp.

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT