Introduzione alla Memoria e ai Registri

Concetti Chiave
  • La memoria e i registri sono componenti fondamentali dei sistemi digitali, responsabili della memorizzazione e del trasferimento di dati.
  • Una cella binaria è un dispositivo che possiede due stati stabili e può memorizzare un bit di informazione.
  • Un registro è un gruppo contiguo di celle binarie che può memorizzare una quantità discreta di informazione.
  • Le operazioni di trasferimento tra registri sono essenziali per il flusso di informazioni nei sistemi digitali.
  • I registri del sistema sono gli elementi di base per memorizzare e contenere l'informazione binaria, mentre i circuiti logici digitali elaborano l'informazione binaria memorizzata nei registri.
  • La progettazione dei sistemi digitali e la comprensione delle operazioni di trasferimento tra registri sono fondamentali per lo sviluppo di circuiti logici e sistemi informatici complessi.

Memoria e Registri

Le informazioni binarie in un computer digitale devono avere un'esistenza fisica in qualche mezzo per memorizzare bit individuali.

Una cella binaria è un dispositivo che possiede due stati stabili ed è capace di memorizzare un bit (0 o 1) di informazione. L'input alla cella riceve segnali di eccitazione che la impostano in uno dei due stati. L'output della cella è una quantità fisica che distingue tra i due stati. L'informazione memorizzata in una cella è 1 quando la cella è in uno stato stabile e 0 quando la cella è nell'altro stato stabile. Studieremo in dettaglio le celle binarie e come realizzarle in circuiti digitali nelle prossime lezioni.

Definizione

Cella Binaria

Una Cella Binaria è un dispositivo che possiede due stati stabili e può memorizzare un bit di informazione.

L'input della cella è un segnale che la imposta in uno dei due stati, mentre l'output restituisce il valore memorizzato (0 o 1).

Registro

Un registro è un gruppo contiguo di celle binarie. Un registro con n celle può memorizzare qualsiasi quantità discreta di informazione che contiene n bit. Lo stato di un registro è una n-pla di 1 e 0, con ogni bit che designa lo stato di una cella nel registro. Il contenuto di un registro è una funzione dell'interpretazione data all'informazione memorizzata in esso.

Consideriamo, per esempio, un registro a 16 bit con il seguente contenuto binario:

1100001111001001

Un registro con 16 celle può essere in uno di 2^{16} stati possibili.

Se si assume che il contenuto del registro rappresenti un intero binario, allora il registro può memorizzare qualsiasi numero binario da 0 a 2^{16} - 1. Per l'esempio particolare mostrato, il contenuto del registro è l'equivalente binario del numero decimale 50121.

Se si assume invece che il registro memorizzi caratteri alfanumerici di un codice a otto bit, allora il contenuto del registro è composto da due caratteri significativi. Per il codice ASCII con una parità pari posta nella posizione dell'ottavo bit più significativo, il registro contiene i due caratteri C (gli otto bit più a sinistra) e I (gli otto bit più a destra). Se, tuttavia, si interpreta il contenuto del registro come quattro cifre decimali rappresentate da un codice a quattro bit, allora il contenuto del registro è un numero decimale a quattro cifre. Nel codice eccesso-3, il registro contiene il numero decimale 9096. Il contenuto del registro è privo di significato in BCD, perché la combinazione di bit 1100 non è assegnata a nessuna cifra decimale. Da questo esempio, è chiaro che un registro può memorizzare elementi discreti di informazione e che la stessa configurazione di bit può essere interpretata diversamente per diversi tipi di dati a seconda dell'applicazione.

Definizione

Registro

Un Registro è un gruppo contiguo di celle binarie che può memorizzare una quantità discreta di informazione. Il contenuto di un registro è una n-pla di 1 e 0, con ogni bit che designa lo stato di una cella nel registro.

L'interpretazione del contenuto di un registro dipende dal tipo di informazione che si intende memorizzare. Un registro può essere utilizzato per memorizzare numeri binari, caratteri alfanumerici, o altri tipi di dati discreti.

Trasferimento dati tra Registri

Un sistema digitale è caratterizzato dai suoi registri e dai componenti che eseguono l'elaborazione dei dati. Nei sistemi digitali, un'operazione di trasferimento tra registri è un'operazione di base che consiste in un trasferimento di informazioni binarie da un insieme di registri a un altro insieme di registri. Il trasferimento può essere diretto, da un registro a un altro, o può passare attraverso circuiti di elaborazione dati per eseguire un'operazione.

La figura che segue illustra il trasferimento di informazioni tra registri e dimostra (in maniera semplificata) il trasferimento di informazioni binarie da una tastiera a un registro nell'unità di memoria.

Trasferimento tra registri di Dispositivi Digitali
Figura 1: Trasferimento tra registri di Dispositivi Digitali

Si assume che l'unità di input abbia una tastiera, un circuito di controllo e un registro di input. Ogni volta che viene premuto un tasto, il circuito di controllo inserisce un codice carattere alfanumerico equivalente a otto bit nel registro di input. Assumeremo che il codice usato sia il codice ASCII con un bit di parità dispari. L'informazione dal registro di input viene trasferita nelle otto celle meno significative di un registro processore. Dopo ogni trasferimento, il registro di input viene cancellato per permettere al controllo di inserire un nuovo codice a otto bit quando la tastiera viene premuta di nuovo. Ogni carattere a otto bit trasferito al registro processore è preceduto da uno spostamento del carattere precedente alle successive otto celle alla sua sinistra. Quando un trasferimento di quattro caratteri è completato, il registro processore è pieno, e i suoi contenuti vengono trasferiti in un registro di memoria.

Il contenuto memorizzato nel registro di memoria mostrato nella figura proviene dal trasferimento dei caratteri "C", "I", "A" e "O" dopo che i quattro tasti appropriati sono stati premuti.

Per elaborare quantità discrete di informazione in forma binaria, un computer deve essere fornito di dispositivi che contengono i dati da elaborare e di elementi circuitali che manipolano bit individuali di informazione. Il dispositivo più comunemente usato per contenere dati è un registro. Le variabili binarie sono manipolate per mezzo di circuiti logici digitali.

La figura che segue illustra il processo di addizione di due numeri binari a 10 bit:

Esempio di Trasferimento tra registri nell'Elaborazione delle Informazioni: esecuzione di una somma tra numeri binari
Figura 2: Esempio di Trasferimento tra registri nell'Elaborazione delle Informazioni: esecuzione di una somma tra numeri binari

L'unità di memoria, che normalmente consiste di milioni di registri, è mostrata con solo tre dei suoi registri. La parte dell'unità processore mostrata consiste di tre registri, R1, R2, e R3 insieme ai circuiti logici digitali che manipolano i bit di R1 e R2 e trasferiscono in R3 un numero binario uguale alla loro somma aritmetica.

I registri di memoria memorizzano informazioni e sono incapaci di elaborare i due operandi. Tuttavia, l'informazione memorizzata in memoria può essere trasferita ai registri del processore, e i risultati ottenuti nei registri del processore possono essere trasferiti di nuovo in un registro di memoria per la memorizzazione fino a quando non sono necessari di nuovo. Il diagramma mostra i contenuti di due operandi trasferiti da due registri di memoria in R1 e R2. I circuiti logici digitali producono la somma, che viene trasferita al registro R3. I contenuti di R3 possono ora essere trasferiti di nuovo a uno dei registri di memoria.

Gli ultimi due esempi hanno dimostrato le capacità di flusso di informazioni di un sistema digitale in modo semplice. I registri del sistema sono gli elementi di base per memorizzare e contenere l'informazione binaria. I circuiti logici digitali elaborano l'informazione binaria memorizzata nei registri.

Tutte queste entità, circuiti logici digitali, registri, l'unità di memoria, le operazioni di trasferimento tra registri e il design dei sistemi digitali saranno trattati nelle lezioni successive di questo corso e costituiscono il cuore delle reti logiche o sistemi digitali.