Architettura della memoria di un computer

Memorie

In fase di sviluppo Pagina in fase di preparazione In fase di sviluppo

Struttura di una generica memoria ad accesso casuale

Una memoria ad accesso casuale (nota 1) è costituita da un certo numero di celle identiche come dimensione, identificate da un numero progressivo (indirizzo, ADDR). Ciascuna cella (word) contiene un numero fisso di bit il cui significato è genericamente indicato come valore o DATA.

Per esempio le tre immagini seguenti rappresentano una memoria formata da 512 celle (quindi con indirizzo compreso tra 0 e 511) ciascuna in grado di contenere parole con valore compreso tra 0 e 15. Le tre immagini sono relative alla stessa identica realtà e si differenziano tra di loro solo per la base utilizzata per rappresentare i numeri (nell'ordine: decimale, binario, esadecimale):

Rappresentazione di una memoria

Per esempio, per descrivere la decima cella, evidenziata in rosso, si può scrivere indifferentemente:

Spesso è necessario rappresentare il contenuto di molte celle. In questo caso l'uso di una tabella che riporta per ciascuna cella indirizzo e contenuto occupa molto spazio... Per questo si preferisce a volte riportare il contenuto di più celle su una sola riga, riportando solo per la prima cella l'indirizzo.

Per esempio la seguente tabella (nota 2) mostra il contenuto di 176 celle di memoria (11 righe, ciascuna con il valore di 16 celle consecutive):

Tante celle di memoria

Per esempio:

Di seguito due esempi tratti da due diversi programmi reali utilizzati per scrivere codice:

PIC18: file register

Architettura di Von Neumann In fase di sviluppo

La macchina di Von Neumann (o stored-program computer) è caratterizzata dall'avere:

I collegamenti tra i tre blocchi sono realizzati tramite bus (nota 4), ciascuno capace di trasportare un numero anche elevato di bit:

Architettura di Von Neumann

Per esempio, in riferimento alla seguente figura:

Quesito: da quanti bit sono formati DATA e ADDR Bus per gli altri due esempi mostrati in questa pagina?

La macchina di Von Neumann viene spesso considerata l'architettura su cui si basano i computer attuali, perlomeno quelli di uso generico, perché permette la massima flessibilità nel scegliere quanta memoria assegnare alle istruzioni e quanta ai dati.

Il fatto che la memoria sia unica porta però ad alcuni compromessi:

Per un approfondimento.

Architettura Harvard In fase di sviluppo

Una architettura di tipo Harvard possiede:

Architettura Harvard

Una macchina di tipo Harvard è poco flessibile e quindi è adatta solo per sistemi che eseguono programmi che non cambiano nel tempo,

Ha diversi vantaggi:

Per un approfondimento.

Quanto detto è oggi in parte superato e la realtà è più articolata:

Note

  1. Quanto descritto in questa pagina fa riferimento indifferentemente sia alle memorie volatili (in genere indicate con il termine RAM, Randon Access Memory) che alle memorie non volatili (in genere oggi identificate con le memorie Flash).
  2. L'immagine è stata ottenuta con il comando Linux hexdump
  3. Il valore della cella con indirizzo 0x000000AB è 0x93
  4. Questa architettura andrebbe più propriamente indicata come System Bus

Data di creazione di questa pagina: settembre 2017
Ultima modifica: 4 ottobre 2017


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima