Architettura del Calcolatore - Lezione in semi-presenza
3. La Memoria
Come si fanno a trovare facilmente le informazioni che vogliamo consultare sulla memoria?
Le informazioni si possono trovare facilmente nella memoria poiché si tratta di uno spazio organizzato. Così come anche il libro è uno spazio organizzato in pagine le quali sono numerate.
Vi sono due modi per risalire all’informazione: cercarla per contenuto o sfruttare una proprietà dello spazio dove tale informazione è contenuta.
La memoria è suddivisa in tanti spazi tutti uguali. Questi spazi prendono il nome di cella. Ogni cella è individuata da un proprio indirizzo che fa in modo che si possa risalire all’informazione in essa contenuta rapidamente. Una cella contiene una data somma d’informazioni e non ne può contenere né di più né di meno. Al limite sarà una cella vuota, senza informazioni (per il momento).
Per scrivere o prelevare delle informazioni che ci servono, non possiamo andare direttamente nella memoria a prelevarle, ma dobbiamo interagire con una parte. Nel caso del calcolatore, dobbiamo interagire con una tastiera. Perché, appunto, ognuna di queste celle ha anche un nome. Nome che ci permette di raggiungere lo spazietto.
La memoria utilizzabile è uno spazio definito, diviso in parti uguali (partizionato), le cui parti hanno un nome e cioè un indirizzo.
Più precisamente, la memoria è uno spazio partizionato e indirizzabile in cui è possibile mettere e reperire le informazioni utilizzando il nome dello spazietto (detto indirizzo).
Vogliamo capire com’è fatta l’architettura di un calcolatore. Le cose fondamentali da sapere sono due: esiste un algoritmo vitale (ciclo operativo) che permette l’esecuzione degli altri algoritmi e poi la confusione tra dati e algoritmi (i quali possono stare nello stesso spazietto). I dati e gli algoritmi si trovano nella memoria che è strutturata in un modo particolare.
Queste due idee fondamentali, danno vita alla macchina di Von Neumann, o architettura di Von Neumann che è solo una delle possibili architetture di un calcolatore pensata a quei tempi, ma che poi, di fatto fu adottata per tutti i computer.
Funzionalmente, quest’architettura è divisa in due parti, ognuna di queste due parti si occupa di una specifica attività. La prima attività, svolta dalla memoria, è memorizzare, mentre la seconda attività, svolta dalla CPU, è fare qualche cosa. L’algoritmo vitale si trova nella CPU.
La memoria è strutturata in un modo preciso affinché possa essere utilizzabile. Ma com’è organizzata la memoria centrale? (tutte le altre memorie sono organizzate ugualmente).
La memoria “ utilizzabile” è uno spazio suddiviso in parti uguali, ognuna di queste parti ha un suo proprio nome che è l’indirizzo, e in ognuna di queste parti è possibile mettere un solo elemento informativo. Quest’elemento informativo può essere scritto o non-scritto perché ogni cella della memoria può essere riempita o vuota, ma non può essere riempita più di ciò che può contenere.
Perciò una caratteristica fondamentale di questo spazio è la sua finitezza, si tratta di uno spazio finito, dove non posso mettere i valori che voglio. Posso farlo fino a che non raggiungo il numero massimo consentito dallo spazio.
Le celle in cui la memoria è divisa sono tutte uguali. L’indirizzo, quindi il nome di ogni cella di memoria, può variare da N a N – 1, là dove N è il numero di celle in cui la memoria è suddivisa.
Il valore che si trova dentro ogni spazietto della memoria, è il valore che vogliamo memorizzare. Questo valore sarà un numero, si scelgono proprio i numeri come valori da metterci perché tutto è numerabile e tutto si può rappresentare attraverso i numeri. Quei numeri non sono numeri qualsiasi, ma sono numeri binari.
Perché è vero che tutto è rappresentabile attraverso i numeri, ma si sceglie una rappresentazione unica, la più semplice che è proprio la numerazione binaria. È una rappresentazione semplice perché è molto facile costruire degli elementi a due stati, cioè i transistor. Quindi, la scelta della rappresentazione binaria è un altro accidente storico, perché si è scelta esclusivamente per il fatto che costruire elementi con due stati è semplice.
Sarebbe stata più semplice la rappresentazione a uno stato solo, ma con la rappresentazione a uno stato non si può rappresentare l’informazione.
Appurato che la rappresentazione è quella binaria, in ogni spazietto non può trovarsi più di una cifra binaria. Questo spazietto binario prende il nome di bit. Il bit può assumere valori 0 e 1.
La sequenza di bit, cioè ciò che rappresenta tutti gli spazi in cui è divisa la memoria, prende il nome di parola o parole.
La nozione di parola in informatica non è da confondere con la nozione di parola “ standard”. La nozione di parola, in informatica, indica una sequenza di bit limitata e ben definita. Il numero di bit si indica con N.
Il bit è lo spazio che può assumere valore 0 o 1 e che rappresenta, cioè, l’unità informativa minima, è il nome dello spazietto che c’è già prima di essere riempito da uno 0 o da un 1.
Esistono delle parole che hanno preso un valore più significativo delle altre, distinguendosi. Queste vengono chiamate byte. I byte sono parole formate da 8 lettere (8 bit).
Avendo un byte, quindi una parola di 8 bit, quanti valori posso rappresentare?
Avere Windows a 32 o 64 bit significa dire quante parole posso rappresentare, e ciò ha una grandissima importanza nella memoria gestibile dal computer perché gli indirizzi hanno la stessa lunghezza della parola.
Se hanno lunghezza pari a un solo byte, saranno poche le celle di memoria indirizzabili, mentre saranno molte se hanno lunghezza 32 o64 bit. Avere un computer a 32 o 64 bit sta ad indicare la massima estensione della RAM (random access memory).