Architettura e Reti Logiche

Le Memorie ROM

Nonostante il nome (ROM: Read Only Memory, o memoria a sola lettura) faccia pensare a un dispositivo sequenziale, si tratta in realtà di un circuito elettronico a n ingressi e m uscite che svolge una funzione rigorosamente combinatoria. La sua struttura è la seguente:

Come si può vedere, nella prima sezione (a sinistra) della ROM ciascuna linea orizzontale (detta anche linea di parola per un motivo legato all’uso del componente ROM come memoria permanente di un microcalcolatore) è collegata mediante un diodo a un certo numero di linee provenienti dagli n ingressi (diritti o negati). Se teniamo presente che un diodo è a un “senso unico” di corrente, lascia cioè passare liberamente la corrente elettrica entrante dalla parte contrassegnata con un triangolo mentre non fa passare la corrente elettrica entrante dalla parte contrassegnata con un trattino. E’ facile constatare che ogni linea proveniente dagli ingressi che si trovi a tensione 0 porta a tensione 0 tutte le linee di parola ad essa collegate. In altre parole, una linea di parola viene portata a tensione 0 se almeno una delle linee provenienti dagli ingressi alle quali è collegata si trova a tensione 0. Per come è costruita la prima sezione della ROM, per ogni configurazione di ingresso solo una delle 2n linee di parola non viene forzata a 0 (cioè rimane a 1). Tale linea realizza pertanto il mintermine associato a tale configurazione di ingresso. Per questo motivo, la prima sezione della ROM prende il nome di sezione AND. Dopo un’opportuna stabilizzazione del segnale elettrico realizzata dal dispositivo di amplificazione (buffer), si passa nella seconda sezione (a destra ) della ROM. In questa sezione ciascuna linea di parola può essere o meno collegata, sempre tramite diodo, a ciascuna delle m linee (o colonne) di uscita (dette anche colonne di parola ancora per l’uso del componente ROM come memoria permanente). Se una linea di uscita è collegata alla linea di parola attiva (l’unica che si trova a tensione VCC) anch’essa viene portata a tale tensione, altrimenti rimane a tensione 0. In altre parole, ciascuna linea di uscita viene attivata se una delle linee di parola alle quali è collegata viene attivata. La funzione svolta da ciascuna linea di uscita è dunque l’OR delle linee di parola alle quali è collegata. Per questo motivo, la seconda sezione della ROM viene detta sezione OR poiché consente di effettuare m diverse somme di mintermini generati nella sezione AND. La configurazione (cioè la scelta di quali mintermini sommare nelle varie linee di bit) avviene programmando la sezione OR, cioè inserendo o meno i contatti a diodo fra linee di parola uscenti dalla sezione AND e linee di bit di uscita. Tale programmazione deve però essere fatta in sede di produzione del circuito integrato, comunicando alla silicon foundry l’elenco di contatti che si vuole realizzare. In realtà la memoria di tipo ROM, anche conosciuta come firmware, non è più un circuito elettronico come sopra indicato, ma è un circuito integrato programmato con i dati specificati in fase di costruzione.

Un chip ROM ha una griglia composta da righe e colonne come le ROM viste sopra. Allo stesso modo ad ogni intersezione di riga e colonna c'è un diodo (integrato). Il principio di funzionamento rimane quindi lo stesso. Possiamo immaginare questa griglia col seguente aspetto:

Come potrete immaginare, per far funzionare bene una ROM essa deve essere creata in modo accurato e perfetto. Non potete riprogrammarla o riscrivere un circuito integrato standard della ROM. Se è errato, o i dati devono essere aggiornati, dovete gettarla via e farne un altra. La generazione della matrice originale per un circuito integrato della ROM è spesso un lavoro laborioso pieno di fallimenti ed errori. Ma i benefici dei circuiti integrati della ROM superano gli svantaggi. Una volta che la matrice è completata, i circuiti integrati reali prodotti su grande scala possono arrivare a dei costi bassissimi. Inoltre le ROM hanno bisogno di poca energia e sono molto affidabili. Nei casi in cui tale processo sia poco economico (bassi volumi di componenti) esistono varianti configurabili direttamente dal progettista finale. Si tratta di componenti nei quali la sezione OR (quella di destra) contiene un contatto in ogni incrocio fra linee di parola e di bit, e viene data al progettista finale la possibilità di effettuare la configurazione eliminando i contatti non necessari. Fra le varianti più significative, ricordiamo:



















Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.