Elettronica pratica/RAM e ROM
- RAM: Random Access Memory
- ROM: Read Only Memory
Basi
[modifica | modifica sorgente]Condensatori come memoria
[modifica | modifica sorgente]- I Condensatori possono essere caricati, e venire scaricati quando sono carichi.
- Quando sono carichi, si comportano come una sorgente di tensione, ma soltanto per un tempo limitato a meno che non siano "rinfrescati".
- Se carichi possono venire "rinfrescati" caricandoli continuamente per mantenere la loro tensione al disopra di un minimo specificato. Questo procedimento può essere del tutto automatico, a intervalli regolari, e si applica solo ai condensatori che hanno una tensione superiore a quel minimo specificato.
- Lo scrivere in una memoria capacitiva vuol dire ricaricare quel condensatore o scaricarlo come venga richiesto. Viene detto che una memoria è "uno zero" se la sua tensione è al disotto di un valore specificato, ed è "un uno" se è al disopra. Mettere un uno nella memoria significa caricare il condensatore, mentre mettere uno zero in memoria significa scaricare il condensatore.
- Leggere una memoria capacitiva equivale a mettere un voltmetro ai capi dei suoi terminali per vedere se la sua tensione si trova o non si trova al disopra di un dato minimo.
Esempi
[modifica | modifica sorgente]Riferimento 1: Guida di riferimento del programmatore per il Computer 64 Commodore, edito nel 1988 dalla compagnia Commodore Business
Machines.
- fa parte delle caratteristiche del microprocessore 6510:
- Per lo zero il minimo è -0,3 V, ed il massimo è +0,3 V.
- Per l'1 il minimo è +2 V, ed il massimo è 1 V di sopra la tensione di alimentazione che normalmente è di 5 V, ma il cui valore assoluto massimo è di 7 V. Si noti che l'elettricità statica (conseguenza della frizione con un tappeto, per esempio) può causare parecchio danno e ci si deve proteggere da essa.
Riferimento 2: Libro dei dati delle memorie a semiconduttore per ingegneri progettisti, pubblicato dalla compagnia Texas Intruments.
Nota: le memorie moderne ricorrono ai transistori, porte, diodi, ect.
Bit
[modifica | modifica sorgente]- Raffiguratevi un Bit come una unità di memoria, quale una memoria ad unico condensatore. Essa può contenere uno "0" oppure un "1"; un "alto" (H) normalmente è "1",e un "basso" normalmente è "0". Bits è una dicitura abbreviata di "binary digit" (numero binario).
Byte
[modifica | modifica sorgente]- Un "byte" è un insieme di "bit". Un bit può rappresentare solo un computo di uno 0 o di una 1, due bit assiemati in un byte possono rappresentare un computo da 0 a 3, 3 bit assiemati possono computare sino a 7 e n bit in un byte possono computare fino a 2n
minus 1. Un byte con 8 bit può computare da 0 a 255. Le "parole" sono byte; ciascuno byte ha un dato numero di bit in esso incluso.
- I byte possono pure venire combinati; 2 byte, ciascuno con 8 bit in esso, possono computare fino a 256 per 256 meno 1, cioè fino a 65535.
Parole
[modifica | modifica sorgente]- Le parole sono un concetto che risale alle prime architetture dei computer, in cui ogni "unità" di memoria era diversa da 8 bit. Le prime comuni grandezze delle parole erano sovente di 10 bit, ma talvolta di 6 o 20 bit.
- Generalmente una parola era definita come la grandezza del Bus di memoria per la memorizzazione interna (cioè, RAM o ROM), come pure unità di memoria minima indipendentemente indirizzabile.
- La maggioranza delle architetture dei CPU moderni si servono di una architettura a byte indipendentemente indirizzabili, ma alcuni CPU moderni (come il Pentium) eseguono i compiti di memoria ed istruzione più efficientemente se la memoria è "aligned" on word boundaries.
- Termini come "word" e "longword" risalgono rispettivamente alle architetture di CPU a 16-bit e 32-bit, Più recentemente, il termine "quadword" viene usato per indicare un pezzo di memoria da 64-bit, benché il termine "octaword" sia talvolta usato (poiché sono fatti accedere
8-byte contemporaneamente).
- Endian architechture definisce come la memoria sia codificata all'interno del RAM del computer e la sua relazione con gli indirizzi dei Byte.Generalmente questo non è un problema per la maggioranza dei Programmi eccetto che quando si scrivano dei dati destinati
al consumo su piattaforme multiple che hanno dei componenti a byte multipli.
Connessione alla barra degli indirizzi
[modifica | modifica sorgente]Esattamente come la persona che invia la corrispondenza necessita di avere un inderizzo su ogni cosa che deve venire spedita/raccolta, così pure l'accesso ad un particolare byte della memoria è spedito ad un particolare inderizzo, o ivi raccolto.
- Per esempio una memoria può avere 16 connessioni d'inderizzo, etichettate da 0 a 15. Ciò significa che un dato può venire fornito, oppure estratto, da una cella specifica della memoria, il cui inderizzo sta tra lo 0 e (216 minus one), che è tra lo 0 e 65535.
Connessione alla barra dei dati
[modifica | modifica sorgente]Dopo che un inderizzo specifico è stato fornito alla memoria, un dato numero specifico viene fornito (scritto) alla connessione barra dei dati, oppure il contenuto di quell'inderizzo viene prelevato (letto).
- Per esempio una memoria può avere 8 connessioni dati, etichettati da 0 a 7. Ciò significa che il numero fornito al byte selezionato deve essere tra lo 0 e (28 minus one), che è tra 0 e 255.
Connessione Read/Write
[modifica | modifica sorgente]C'è pure una connessione del terminale d'entrata che indica l'operazione richiesta. Uno "0" nella connessione può indicare che la prossima operazione sarà un "Write", mentre un "1" può indicare che ci sarà un "Read".
Connessione all'orologio
[modifica | modifica sorgente]Una memoria può avere bisogno di uno o più segnali d'orologio, ipoteticamente "fase 1" e "fase 2",etc, che sono entrate in memoria provenienti da oscillatori, intendendo che si alternano velocemente tra lo 0 e l'1 in maniera continua. Potrebbe essere che mentre l'orologio si trova sullo 0 diversi cambiamenti si possono eseguire, come una variazione d'inderizzo e/o un cambio di dati, ma la effettiva lettura e scritture si attuano solo quando l'orologio si trova sull'1. Alcune memorie comprendono gli oscillatori di tempo, possibilmente richedenti dei cristalli esterni.
RAM
[modifica | modifica sorgente]Una RAM è una memoria ad accesso casuale - Dimensioni ed architettura variano in maniera considerevole, gli utilizzatori possono introdurre in qualunque dei loro Byte indirizzati qualsiasi numero fino ad un dato massimo, e tale numero può venire sostituito con un altro come e quando necessario. Alcune memorie forniscono i complementi di ciò che è stato introdotto in esse.
- Per esempio una memoria con 1024-bit può esigere che solo uno 0 od un 1 siano introdotti in ognuna delle 1024 celle, mentre un'altra memoria può esigere 4 bit (0 a 15) per parola, però solo 16 parole posson venire trattenute alla volta, etc.
Memoria dinamica Read/Write
[modifica | modifica sorgente]Richiede un frequente aggiornamento.
Memoria statica Read/write
[modifica | modifica sorgente]Ritengono i dati anche se i segnali di controllo sono assenti, nondimeno tali memorie possono usare indirizzamenti dinamici.
ROM
[modifica | modifica sorgente]Una ROM è una memoria di sola lettura. E' realizzata in produzione, e normalmente i suoi contenuti sono fissi. Una ROM può venire letta, ma normalmente non ci si può scrivere. Di solito una ROM contiene informazioni fisse importanti necessarie per il corretto funzionamento dell'equipaggiamento.
Memoria di sola lettura programmata a maschera
[modifica | modifica sorgente]Si servono di una maschera durante la produzione, il contenuto non può venire cambiato.
Memoria di sola lettura programmabile
[modifica | modifica sorgente]Consentono la modifica di ciascuna cella dopo la produzione, ma una sola volta.
Memoria di sola lettura riprogrammabile
[modifica | modifica sorgente]Consentono la modifica di ciascuna cella dopo la produzione, più di una volta.