Narratore: In questa
lezione parleremo della memoria ad accesso casuale,
chiamata semplicemente memoria all'interno del sistema,
e di come ci si rivolge a tale memoria.
Prima di parlare di come indirizzare la memoria, dobbiamo
capire meglio cos'è la memoria
e cosa fa per noi all'interno
del nostro sistema informatico.
Quando abbiamo parlato di processori,
abbiamo detto che il processore esegue
tutti i calcoli, ma deve avere
un posto dove memorizzare i dati e le
istruzioni prima
di eseguire i calcoli.
All'interno del processore stesso
è presente una memoria ad altissima velocità,
nota come cache.
Questa cache occupa una quantità di spazio molto
ridotta, ma è estremamente veloce.
Ora, quando si esaurisce lo spazio della cache,
il successivo tipo di memoria disponibile nel sistema
è quella che chiamiamo memoria ad accesso casuale
o memoria di sistema.
Ora, questa memoria è ancora
veloce, ma non quanto la memoria cache.
Ora, ciò che accade è che il processore
utilizza prima la memoria cache e, man mano
che utilizza i dati dalla memoria cache, nuove informazioni
si spostano dalla memoria di sistema alla cache.
E continua a muoversi come un processo di pipeline,
passando dalla memoria di sistema alla
cache, per poi essere elaborato ed
eseguito dalla CPU.
Ora, oltre alla memoria di sistema, abbiamo anche
una cosa nota come memoria di archiviazione.
L'archiviazione è costituita da
dischi rigidi, unità USB, CD-ROM,
DVD e simili.
Questi dispositivi di archiviazione
di massa sono in grado di contenere molti
più dati rispetto alla memoria,
ma sono molto più lenti.
Quindi, se voglio caricare un nuovo PowerPoint sul mio sistema, di solito
è memorizzato sul disco rigido, che è un dispositivo
di archiviazione di massa.
Quando dico al mio computer:
"Voglio leggere questo",
il processore invia un segnale al disco
rigido e dice: "Dove
sono questi dati?
I dati passano quindi dal disco rigido alla
memoria di sistema.
E dalla memoria di sistema,
piccoli pezzi possono
essere portati nella cache
e lavorati dal processore.
Ecco come funziona il tutto
all'interno del sistema.
Quindi, voglio che lo teniate a mente quando
pensate ai diversi luoghi in cui i dati
vengono memorizzati nel sistema.
Abbiamo dispositivi di archiviazione di massa,
che sono più che altro un'area di archiviazione permanente.
Quando si spegne il computer, i dati
contenuti nei dispositivi di archiviazione di
massa rimangono comunque.
Ma c'è anche un'area di archiviazione temporanea
chiamata RAM, o memoria di sistema, che è considerata
un'area di archiviazione
non persistente, perché quando si spegne il
computer, tutto ciò che si trova
nella RAM va perso.
Quindi, mentre lavoriamo con i vari file, li
collochiamo temporaneamente nella RAM, in modo da poter
lavorare con loro in modo molto più veloce, e poi, quando
abbiamo finito, li salviamo
sul disco rigido, che è il dispositivo
di archiviazione permanente.
Quindi, quando si pensa alla memoria
di sistema o alla memoria ad accesso
casuale, nota come RAM,
si tratta di un'area dinamica e in continua evoluzione, che
opera in modo molto rapido rispetto
ai dispositivi di memoria di massa, come
i dischi rigidi e i CD-ROM.
Per dare un'analogia di come si presenta
questo aspetto nel mondo fisico,
pensate al vostro ufficio.
In ufficio c'è una scrivania e nella scrivania
c'è solo un po' di spazio, ma quando le cose sono sopra
la scrivania, si possono raggiungere
rapidamente, perché sono già
all'aperto e si possono raggiungere
e toccare.
Ora, oltre ai tre o quattro fascicoli
aperti sulla scrivania, probabilmente
avete anche centinaia
di fascicoli in uno schedario.
Ora, lo schedario è più
simile al disco rigido, è il dispositivo
di archiviazione di massa, mentre
il desktop è più simile alla RAM.
Quindi, quando le cose sono nella RAM,
è più facile accedervi, è più
veloce accedervi e si
può lavorare con esse in quel determinato momento.
Ma quando avete finito, dovreste
ripiegare quel file e riporlo nello schedario,
in modo da averlo a disposizione quando
ne avrete bisogno tra una settimana, due
settimane o un anno, liberando così più
spazio sulla scrivania per estrarre altri file e lavorare con quelli.
La RAM serve proprio a questo,
è uno spazio temporaneo che
cambia ed evolve continuamente.
Quindi, poiché i nostri dispositivi di memoria di massa sono
così lenti, spesso vogliamo mettere più cose nella
RAM, ma la RAM è limitata.
Se consideriamo il disco rigido,
potremmo avere un dispositivo di archiviazione
di massa da 500 gigabyte, o da un terabyte, o addirittura da quattro terabyte,
ma se consideriamo la memoria, potremmo avere otto gigabyte, o 16 gigabyte, o, se siamo fortunati, forse anche
32 gigabyte di spazio.
Ciò significa che avete a disposizione
molta, molta meno RAM rispetto a un disco rigido.
Quindi, la memoria funge
da cache del disco.
In questo modo, è possibile estrarre i file dal disco
alla memoria, lavorarci sopra e
poi rimetterli sul dispositivo
di memoria di massa quando si è
finito.
In questo modo la RAM funge da area di archiviazione temporanea più
veloce per i dati utilizzati di recente e di uso comune, provenienti
dal disco rigido, per consentire
operazioni più rapide.
Questo perché la RAM è in
grado di cercare i dati molto, molto velocemente,
mentre un disco rigido
tradizionale deve far
girare il disco finché non
trova la parte giusta, per
poi estrarre i dati, e questo è
molto più lento.
Questo è un sistema meccanico, mentre quando
usiamo la RAM, stiamo usando
un sistema elettronico che può accedere
a qualsiasi parte della RAM con una
velocità quasi istantanea.
Questo perché la RAM è considerata un dispositivo
a stato solido e non comporta tempi
di caricamento eccessivi, come invece accade
con i dispositivi meccanici, quali un disco rigido, un
DVD, un CD o persino un disco Blu-ray.
Ciò significa che possiamo operare molto velocemente
in termini di nanosecondi,
ovvero miliardi di secondi, mentre i dischi
rigidi e altri supporti magnetici sono considerati molto lenti e operano
in migliaia di secondi, noti come millisecondi.
Come si può notare, c'è un'enorme differenza di velocità,
ed è per questo che vogliamo mettere i nostri file nella
RAM mentre ci lavoriamo.
Quindi, come tecnico,
una delle cose
più comuni da fare per aggiornare
un sistema è aggiornare
la RAM, portandola da quattro
gigabyte a otto gigabyte, o da otto gigabyte
a 16 gigabyte, o da 16 gigabyte a 32
gigabyte.
Aumentando la quantità di RAM,
si può accelerare seriamente il sistema,
perché si elimina la barriera di
dover leggere e scrivere tanti dati
dal disco rigido, potendo
avere più file aperti ed essere in grado
di fare più lavoro in qualsiasi momento.
Bene, ora che abbiamo trattato
le basi della RAM e il motivo per
cui dobbiamo usare questa memoria di sistema,
invece di affidarci al disco rigido per tutto, è importante
parlare delle limitazioni della RAM, basate sul suo indirizzamento.
Ora, quando il processore
deve raggiungere la RAM per ottenere qualcosa,
si parla di indirizzamento della memoria.
Questo perché all'interno della RAM e dello
spazio di archiviazione, ognuno di
essi ha un indirizzo univoco diverso, ed è così
che si fa riferimento al pezzo di dati memorizzato
in quel particolare pezzo di RAM.
Ora, tra il processore,
o CPU, e la memoria, c'è una cosa
nota come controller di memoria, e tra
il controller di memoria
e il processore c'è
un bus.
Ora, un bus è semplicemente un percorso per
il trasferimento dei dati.
Il controller di memoria
è quasi come un vigile urbano, che
dirige il traffico e dice alla CPU e al processore come
accedere alle diverse parti della memoria.
Quando si guarda l'autobus,
in realtà ci sono due parti dell'autobus.
C'è un percorso utilizzato per
i dati, per inviare e ricevere informazioni,
e c'è un percorso di indirizzi che ci
aiuta a determinare la posizione dei
dati nella memoria.
Quindi, se si considera la larghezza del percorso
dei dati, o del bus dati, si determina
la quantità di informazioni che possono
essere trasferite a ogni ciclo di clock.
Ora, se si utilizzano controller di memoria a canale
singolo, il bus di dati è solitamente largo 64 bit, come avviene
nella maggior parte dei computer moderni.
Inoltre, se consideriamo
il bus degli indirizzi, c'è anche
una larghezza associata a questo,
che può essere di 32 o 64 bit.
Ciò è determinato dal numero di locazioni di cui la CPU
può tenere traccia ed essere
in grado di accedere ai dati indirizzandoli
correttamente.
Ora, se si utilizza una CPU a 32 bit,
o una CPU basata su x86, si potrà utilizzare
un indirizzo a 32 bit per accedere ai dati
su quel bus di memoria.
Ora, a causa di ciò,
si hanno circa 4 miliardi di elementi che possono essere
indirizzati, il che è noto come quattro gigabyte di
dati, perché si hanno a disposizione da due a 32 bit per poter
indirizzare le informazioni.
Se invece si utilizza una CPU a 64
bit, si ha a disposizione
due delle 64 possibili locazioni di indirizzo,
il che equivale
a circa 184 quintilioni di opzioni possibili.
In termini di memoria,
si parla di 16 exabyte di dati, il che significa che
possiamo indirizzare molti dati se
utilizziamo un processore a 64 bit.
La maggior parte dei nostri sistemi
al giorno d'oggi non utilizzerà 16 exabyte di RAM, perché
i costi sarebbero proibitivi e sulla maggior
parte delle schede madri non c'è spazio sufficiente
per inserire tutta quella memoria, ma questo
è il nostro limite massimo.
La cosa veramente importante
è che se si utilizza un processore x86, o
a 32 bit, è possibile indirizzare solo
un massimo di quattro gigabyte
di memoria, e questa è una limitazione enorme per
l'informatica moderna, perché
la maggior parte dei sistemi
operativi moderni richiede almeno
quattro gigabyte di RAM, come minimo, per poter funzionare
in modo sufficiente.
D'altra parte,
se si utilizza un processore a
64 bit o un'architettura x64, questo significa
che si può accedere a più di quattro gigabyte di RAM alla
volta, ed è per questo
che lo si vede utilizzato nei sistemi
che hanno 8, 16, 32 o 64 gigabyte di
RAM, perché hanno accesso a tutta la
RAM, il che offre prestazioni molto migliori.
Questo è un altro motivo
per cui è preferibile scegliere un processore
a 64 bit rispetto a uno a 32 bit per la maggior
parte dei computer e delle applicazioni moderne.