Come funziona una CPU: le memorie ad accesso casuale #0.5.2

Nelle memorie ad accesso casuale è invece possibile accedere direttamente a qualsiasi dato indipendentemente dalla posizione in cui esso si trova.

All’interno delle memorie ad accesso casuale vi è una ulteriore classificazione che consiste nel distinguere le memorie volatili da quelle non volatili, nelle prime la memorizzazione dei dati è solo temporanea, nelle seconde è permanente.

Negli articoli precedenti abbiamo visto:

Le caratteristiche generali sono le seguenti:

  • Ogni cella può essere indirizzata indipendentemente;
  • I tempi di accesso sono uguali e costanti per ogni cella;

Le caratteristiche di queste memorie sono indipendenti dalla loro implementazione fisica.

I segnali di controllo, oltre a far capire alla Memoria che tipo di operazione debba svolgere (informazioni di tipo funzionale), hanno anche una funzione di temporizzazione perché permettono alla Memoria di capire quando certe informazioni (per esempio gli indirizzi) sono disponibili.

Permettono alla Memoria di sapere:

  • il tipo di operazione richiesta (lettura o scrittura);
  • quando gli indirizzi sono disponibili sull’ABus;
  • quando i dati sono disponibili sul DBus (solo per la scrittura);

Deve inoltre esistere un meccanismo con il quale è possibile sapere:

  • quando i dati sono disponibili sul DBus (solo per la lettura);
  • quando è possibile procedere con un nuovo ciclo di accesso alla Memoria;

Ci sono due soluzioni per quanto riguarda la memoria ad accesso casuale:

  • sincrona
    • La Memoria e chi la utilizza condividono un segnale di Clock (o informazioni di tempo) e quindi sanno quando possono procedere con ciascuna operazione.
  • asincrona
    • La Memoria e chi la utilizza non condividono nessun segnale di Clock (o informazioni di tempo) e quindi necessitano di segnali di controllo che dicono quando è possibile procedere con ciascuna operazione.

Vediamo un esempio di segnali di controllo:

  • Chip Select (CS):
    • da attivare per poter leggere o scrivere, il Chip Select è analogo al segnale di Enable. Se è attivo, la Memoria risponde alle richieste;
  • Output Enable (OE):
    • da attivare per poter abilitare la scrittura su un Bus condiviso. Permette di pilotare i Buffer Tri-State alle uscite della Memoria;
  • Write Enable (WE):
    • da attivare per poter effettuare un’operazione di scrittura;

Consideriamo l’esempio:

  • Per scrivere:
    • CS attivo;
    • Indirizzo sulle linee di Address;
    • Dato in input sulle linee di Data;
    • WE attivo;
  • Per leggere:
    • CS attivo;
    • Indirizzo sulle linee di Address;
    • OE attivo;
    • Dato in output sulle linee di Data;

Segnali di stato

Se si verifica un guasto transitorio e la Memoria se ne accorge, è abbastanza comune che essa abbia a disposizione un segnale di errore che avvisi l’utente del fatto che la stessa stia fornendo dei dati sbagliati.

Esempi:

  • Errore:
    • la Memoria ha individuato una parola con un dato errato;
  • MFC:
    • La Memoria ha completato l’operazione di lettura/scrittura;

Dimensioni

Sono caratterizzate da:

  • numero di parole (n);
  • numero di bit per parola (m);

Il numero di segnali di ingresso/uscita è conseguentemente:

  • log2 n per i segnali di indirizzo;
  • m per i segnali di dato;

Architettura 

memorie

 

Il registro degli indirizzi è un modulo in cui la Memoria cattura e mantiene stabile il valore sul Bus degli indirizzi, ond’evitare eventuali problemi che sorgerebbero se, a seguito di richiesta di lettura/scrittura di una parola ad un dato indirizzo, tale indirizzo variasse prima del termine dell’operazione. L’indirizzo viene mantenuto all’interno dell’apposito registro fin quando non viene richiesta una nuova operazione da effettuare sulla Memoria. Quando l’indirizzo sul Bus è stabile, un apposito segnale di controllo dice al registro di catturarlo.

memorie

Il costo di una RAM dipende anche dalla complessità della circuiteria di accesso.

Questa può essere ridotta tramite un’opportuna organizzazione delle celle di Memoria.

Si hanno due tipologie principali:

  • organizzazione a vettore;
  • organizzazione a matrice bidimensionale;

La regolarità nell’organizzazione delle celle di Memoria influenza pesantemente anche il costo del layout.

Organizzazione a vettore

La memoria è vista come un vettore di parole: l’indirizzo proveniente dal bus di indirizzi, di parallelismo log2n, viene stabilizzato da un registro degli indirizzi, pilotato tramite segnali di controllo dal circuito di controllo, e viene decodificato da un decoder degli indirizzi in n segnali di enable che selezionano la parola corretta all’interno della matrice di memoria. È semplice da implementare se il numero delle parole è ragionevole, altrimenti il decoder diventerebbe troppo complesso.

memorie

Organizzazione a matrice

La memoria è vista come una matrice organizzata in righe e colonne i cui elementi sono delle parole, ognuna delle quali ha un segnale di selezione di riga e uno di colonna, provenienti da due decoder. La parola viene attivata solamente se entrambi i segnali di selezione sono attivi. Due decoder di selezione risultano molto più semplici di un singolo decoder. Si può inoltre dimezzare il numero di segnali di indirizzo grazie a due registri: prima si salva l’indirizzo di riga in un registro, poi si salva l’indirizzo di colonna nell’altro registro, e infine si attivano i decoder.

I segnali di strobe RAS e CAS sono segnali di controllo che specificano se gli indirizzi devono essere caricati sul registro delle righe o delle colonne.

Si possono perciò velocizzare gli accessi sequenziali a blocchi di memoria (bit consecutivi), che sono statisticamente molto frequenti: la possibilità di attivare separatamente i registri di caricamento degli indirizzi permette di mantenere lo stesso indirizzo di riga al variare degli indirizzi di colonna (Page Mode).

memorie

a

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.