See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Indirizzo di memoria - Wikipedia

Indirizzo di memoria

Da Wikipedia, l'enciclopedia libera.

In informatica, un Indirizzo di memoria è un identificatore univoco per una locazione di memoria alla quale il processore o un'altra periferica possono salvare i dati per poterlo recuperare in seguito. Nell'Indirizzamento a byte ogni indirizzo identifica un singolo byte di memoria. Dati troppo grandi per essere contenuti in un singolo byte possono risiedere in in più byte occupando una sequenza di indirizzi consecutivi. Alcuni processori furono costruiti per gestire l' indirizzamento a word, così da rendere la più piccola unità di spazio allocabile una word anziché un byte. Un esempio fu il Texas Instruments TMS9900 e il National Semiconductor IMP-16, entrambi i quali utilizzavano word di 16 bit.

Sia la Memoria virtuale che la memoria fisica usano l'indirizzamento di memoria. Una delle differenze riguardanti l'indirizzamento di memoria tra memoria virtuale e memoria fisica è il fatto che non necessariamente i due modi di gestire gli indirizzi siano uguali: ad esempio la memoria virtuale potrebbe contenere il doppio di indirizzi della memoria fisica. Per queste ragioni qualora vi sia scambio di dati tra le due memorie è necessaria una conversione degli indirizzi.

Per facilitare il fluire dei dati contenuti nelle memorie, il sistema operativo solitamente divide la memoria in pagine, ognuna delle quali contiene un numero predefinito di indirizzi di memoria.

La conversione degli indirizzi non è dipendente dal software, e permette ai programmi in esecuzione di operare in uguale maniera sia che i dati siano contenuti nella memoria fisica , sia che i dati risiedano nella memoria virtuale, lasciando al sistema operativo la libertà di allocare e riallocare la memoria quando necessario per gestire efficacemente le memorie.

Poiché le dimensioni della memoria virtuale possono essere decisamente maggiori della quantità di memoria fisica (RAM) disponibile nel sistema, il sistema operativo può utilizzare un file di paging e/o un file di swap per spostare temporaneamente alcune pagine di memoria alla memoria secondaria (Hard disk) quando esse non siano utilizzate o quando il processo che ne usufruisce è in uno stato di inattività.


Molto spesso,quando facciamo riferimento all dimensione della word di un computer moderno, definiamo allo stesso tempo la dimensione degli indirizzi di memoria virtuale su quel computer. Ad esempio , un processore detto "a 32 bit" solitamente tratta gli indirizzi di memoria come degli integer di 32-bit.

Un indirizzamento a 32 bit permette al computer di indirizzare 232 = 4,294,967,296 byte di memoria (o 4 gibibytes. )

Tuttavia, i computer più datati spesso supportavano indirizzi di memoria più grandi della loro dimensone della word, altrimenti la loro capacità di memoria sarebbe stata terribilmente ridotta. Per esempio il 6502 a 8-bit supportava indirizzi di 16-bit, il processore Intel 8086 a 16-bit gestiva indirizzi a 20-bit permettendo così di avere accesso a 1 mebibyte piuttosto che 64 kibibytes

Un computer il cui indirizzamento è a 64-bit può gestire 264 bytes (o 16 exbibytes), una dimensione che ad oggi 2005 viene considerata praticamente illimitata.

A seconda dell'architettura sottostante, la performance di un computer può essere peggiorata da un accesso alla memoria non simmetrico. Per esemplificare, un computer a 16-bit con un bus di memoria a 16-bit come un Intel 8086 , generalmente lavora in maniera più efficace se il dato inizia su un indirizzo pari: in questo modo prelevare un valore di 16-bit richiede un singolo accesso alla memoria. Nel caso contrario, se il dato iniziasse su un indirizzo dispari, il processore può avere la necessità di effettuare l'accesso alla memoria due volte con un dispendio di tempo ulteriore.

[modifica] Voci correlate


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -