Come funziona una CPU: strategia generale progettazione memorie #0.5.1

Nella progettazione di un sistema di memorie vengono tenuti in conto dei determinati parametri e punti chiave. Nell’articolo di oggi vediamo quali sono le caratteristiche principali.

Negli articoli precedenti abbiamo visto:

Nella progettazione di un sistema di Memoria vengono tenuti in conto i seguenti punti:

  • conviene che il sistema complessivo sia composto da memorie di tipo e costo diversi, rispondenti ai
    diversi usi che vengono fatti della Memoria (gerarchia di Memoria);
  • la gestione della Memoria deve essere il più possibile trasparente per il programmatore e l’utente (Memoria virtuale);
  • se il sistema è di tipo multiprocessore, ogni processore deve poter lavorare con la Memoria al massimo della velocità e senza interferire con il lavoro degli altri;

I parametri da tenere in conto nel momento in cui si progetta una memoria sono i seguenti:

  • costo;
  • velocità;
  • modi di accesso;
  • alterabilità;
  • durevolezza del contenuto
  • affidabilità;
  • caratteristiche fisiche;

memorie

Costo

Comprende anche il costo della circuiteria ed eventualmente del software per la gestione delle interfacce necessarie all’uso della Memoria. È normalmente misurato in $/bit o $/Mbyte.

Bisogna considerare che per ogni bit è richiesto un flip-flop, il quale è costituito da almeno 4 o 5 porte logiche (assumiamo che ogni porta comprenda 2 transistor).

La Memoria Principale richiede un transistor per ogni bit. Per questo motivo, il costo per bit della Memoria dinamica è 10 volte minore di quello della Memoria statica.

Il costo per bit altro non è che il costo da pagare per far produrre il circuito.

Velocità

Si esprime attraverso 3 parametri:

  • il tempo di accesso;
    • È il tempo che intercorre tra l’istante in cui all’unità di Memoria giunge la richiesta di eseguire un’operazione (lettura o scrittura), e quello in cui tale operazione è eseguita.
    • È possibile che il tempo di accesso in lettura differisca da quello in scrittura.
    • Il tempo di accesso è di solito inversamente proporzionale al costo della Memoria.
  • il tempo di ciclo;
    • È il tempo che deve intercorrere tra l’inizio di un ciclo di accesso alla Memoria e l’inizio del ciclo successivo
    • È chiaramente maggiore o uguale del tempo di accesso.
    • Solo in caso di lettura (ma non sempre) il tempo di ciclo può essere uguale al tempo di accesso.
  • il tasso di trasferimento;
    • È la velocità con la quale i dati possono esser trasferiti verso o dall’unità di Memoria.
    • Per le memorie ad accesso casuale è l’inverso del tempo di ciclo.
    • Per le altre vale che:
      • TN = TA + n/R
        dove

        • TN è il tempo medio per leggere o scrivere n bit;
        • TA è il tempo medio di accesso;
        • n è il numero di bit;
        • R è il tasso di trasferimento (in bit per secondo, o bps);

Modi di accesso

I modi di accesso sono principalmente:

  • sequenziale:
    • le informazioni possono essere lette/scritte solo in un ordine prefissato. È il caso dei nastri;
  • diretto:
    • ogni blocco ha un indirizzo e la ricerca nel blocco è sequenziale. L’accesso diretto richiede dei tempi che non sono predicibili in modo deterministico in quanto dipendono dalla configurazione in cui si trova in quel momento la Memoria. È il caso dei dischi magnetici;
  • casuale:
    • ogni unità di dato ha un indirizzo e le informazioni possono essere lette/scritte in qualsiasi ordine. Il tempo di accesso è uguale per tutte le locazioni di Memoria. È il caso delle memorie a semiconduttore;
  • associativo:
    • l’accesso avviene tramite un confronto tra il contenuto di ogni cella e quello specificato in una maschera. È il caso di taluni tipi di Cache oppure delle CAM.
    • Le CAM (Content Accessible Memory) sono come delle RAM se non che, per accedere ad una parola, non si specifica un indirizzo bensì un contenuto. Per accedere ad una CAM si fanno richieste in cui si specifica una parte del contenuto della parola che si vuole ottenere, ovvero una chiave. In base ai casi, la chiave può essere stabilita in fase di progetto oppure dall’utente stesso (in fase di utilizzo);

Alterabilità

Vi sono memorie il cui contenuto può essere scritto una volta sola (Read Only Memory o ROM). In alcuni casi, invece, il contenuto di una ROM può essere modificato off-line (Programmable ROM o PROM).

Durevolezza del contenuto: Destructive Readout

Vi sono alcune tecnologie particolari (ad esempio le RAM dinamiche), nelle quali l’operazione di lettura causa la cancellazione del dato memorizzato (Destructive Readout o DRO).

In tal caso dopo ogni lettura è necessario eseguire un’operazione di riscrittura del dato, ond’evitare di perderlo.

Quindi in questo caso il tempo di ciclo è maggiore del tempo di accesso.

Chi vende memorie caratterizzate da Destructive Readout deve fornire un meccanismo che permetta di ripristinare il valore della parola appena letta. Un’apposita circuiteria della Memoria consente quindi di riscriverla automaticamente per evitare di perderne il contenuto.

Durevolezza del contenuto: refreshing

In alcune tecnologie (ad esempio quelle delle memorie dinamiche) dopo un certo tempo i bit a 1 si trasformano in 0.

Questo effetto si ha, ad esempio quando il bit è memorizzato sotto forma di carica all’interno di un condensatore, a causa delle correnti di scarica. È quindi necessario che periodicamente si provveda a leggere ogni bit e a riscrivere i bit con valore 1 (refreshing).

Il refresh è prioritario e non può essere interrotto (altrimenti si perderebbe il contenuto della Memoria). Questo incide significativamente sul tempo di accesso che non è più deterministico: tant’è che nelle specifiche si fornisce un intervallo entro cui può ricadere il tempo di accesso (l’accesso viene effettuato entro un minimo di tot ed entro un massimo di tot).

Durevolezza del contenuto: volatilità

Alcune memorie, come quelle RAM, perdono il loro contenuto quando non sono alimentate (memorie volatili).

Affidabilità

Le memorie possono essere colpite da due tipi di guasto:

  • Guasti transitori:
    • uno o più bit cambiano valore ad un certo istante, ma la Memoria continua a funzionare correttamente. La maggior parte dei guasti transitori è causata da radiazioni, la cui principale fonte è il Sole. Pertanto, la probabilità di guasto transitorio aumenta significativamente con l’altitudine (tant’è che negli aerei non possono essere integrati gli stessi circuiti che vengono integrati in dispositivi di ”uso terrestre”);
  • Guasti permanenti:
    • qualcosa nella Memoria smette definitivamente di funzionare;
  • L’affidabilità è di solito misurata attraverso i seguenti parametri:
    • Mean Time To Failure (MTTF):
      • tempo medio prima di avere un guasto;
    • Failure rate (o Mean Time Between Failures, MTBF):
      • frequenza media di occorrenza dei guasti;

Altre caratteristiche

  • Tipo della Memoria (elettronica, magnetica, meccanica, ottica);
  • Consumo:
    • può comportare la necessità di sistemi di raffreddamento;
    • può essere critico per i sistemi portabili;
  • Portabilità;
  • Robustezza (ad esempio rispetto alle sollecitazioni meccaniche);
  • Dimensione: dipende dalla densità di immagazzinamento;

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.