1 ARCHITETTURA DEL COMPUTER III Modulo dei dispositivi elettronici del Laboratorio di Fisica VaiA 2 Trasferimento delle informazioni ROM e RAM ADDRESS BUS CPU DATA BUS CONTROL BUS I/O L’ADDRESS BUS seleziona la cella di memoria o il dispositivo di I/O Il DATA BUS trasporta le informazioni (BYTE) dalla (e verso la) CPU alla (dalla) memoria o ai dispositivi di I/O Il CONTROL BUS perfeziona la comunicazione precisando il verso e temporizzando la comunicazione N.B. non esistono comunicazioni dirette fra memoria e dispositivi di I/O VaiA 3 Trasferimento delle informazioni ROM e RAM ADDRESS BUS CPU DATA BUS CONTROL BUS I/O L’ indirizzamento della memoria e dei dispositivi di I/O può avvenire in due modi: a- condividendo lo spazio indirizzi e utilizzando un ulteriore segnale del CONTROL BUS (IO/M) che separa indirizzi di memoria da indirizzi di I/O b- con la tecnica del MEMORY-MAPPING ovvero della mappatura nello spazio di memoria dei dispositivi di I/O.In tal modo un indirizzo individua in modo univoco una cella di memoria o un dispositivo di I/O. L’ evoluzione dei computer ha portato l’ indirizzamento della memoria dai 64K iniziali ai 16M attuali (anzi l’ indirizzamento può essere virtualmente infinito). I dispositivi di I/O più diffusi sono TASTIERA, MONITOR, MEMORIA DI MASSA (Hard e floppy disk, nastri magnetici, dischi ottici..), porte di I/O e dispositivi programmabili come TIMER, USART, DMA, COPROCESSORE MATEMATICO... VaiA 4 +Vcc +Vcc I D U C T1 T3 T2 T4 Trasmettitore 1 D C U X L Hz L H L H H H Trasmettitore 2 Linea del bus Condizione di bus contention quando sono attivi due trasmettitori Schema logico di una porta con uscita three-state e relativa tabella della verità 5 VaiA +Vcc D U Q3 D Q1 C Q2 U Q4 C Schema di una porta NOT con uscita treestate, simbolo logico e tabella della verità D C U X H Hz H L L L L H VaiA 6 Collegamento di più trasmettitori e ricevitori ad una linea del bus CT1 CT2 CT3 T1 T2 T3 linea del bus CR1 CR2 R1 CR3 R2 R3 VaiA 7 Terminazioni di una linea del bus +Vcc = 5V +Vcc = 5V R R 180 180 linea del bus 390 390 T T VaiA 8 CT1 CT2 CT3 T1 T2 PREVENZIONE DEI DISTURBI T3 linea del bus CR1 CR2 CR3 R1 R2 +Vcc = 5V R3 +Vcc = 5V R R 180 linea del bus 390 180 390 T T Per quanto riguarda il problema della prevenzione dei disturbi eventualmente indotti sulla linea da sorgenti di rumore, si adottano i criteri generalmente impiegati nei circuiti digitali, come un’efficiente schermatura, una opportuna dislocazione delle linee di trasmissione rispetto a sorgenti di rumore, l’uso di piani di massa per uno stabile riferimento delle tensioni, ecc. VaiA 9 Le ROM (Read Only Memory) Le ROM hanno nomi che riflettono il modo utilizzato per scriverne e, quando è possibile, cancellarne il contenuto: PROM, EPROM, E2ROM o EAROM. Le PROM (ProgrammableROM) sono memorie programmabili una volta sola, in quanto la programmazione avviene bruciando i fusibili in corrispondenza dei bit che debbono contenere degli zeri. La fase di lettura consiste nell’applicare tensione (5V) alla linea orizzontale relativa alla cella che si vuole leggere. In tal modo sulle linee di uscita è possibile leggerne lo stato. ROM a FUSIBILI word 1 word 2 bit 1 bit 2 00 1 1 1 microfusibile bit 1 bit 2 VaiA 10 EPROM (Electrically Programmable ROM) EPROM gate UV SiO2 È un MOS con un gate immerso in uno strato di SiO2 che fa da isolante. Per mezzo di impulsi di tensione fra source e drain si carica il gate che quindi attirerà degli elettroni. La cancellazione avviene sottoponendo le EPROM ad un fascio di raggi UV che penetrano nel gate e liberano le cariche. Poiché il gate non è un isolante perfetto, col tempo (10 anni) le cariche usciranno. N N E2 gate per cancellare gate SiO2 N N Non è possibile comunque la cancellazione individuale di singole celle di memoria. Questo inconveniente è stato eliminato con la creazione delle E2 (Electrically Erasable ROM) che invece dei raggi ultravioletti utilizzano un secondo elettrodo immerso nel SiO2. 11 VaiA RAM Bipolare Condizione di memoria (“1” cioè lo stato di T1) x, y = 0,3 V; W/R = 0,5 V. T1 interdetto; T2 saturo; (Circola corrente in T2, x, y, ma non nella linea W/R perché è ad un potenziale più alto) è una condizione stabile Vcc (+5V) linea bit ”1” S = “1” linea bit ”0” S= “0” T1 T2 selezione riga (x) W/R W/R selezione colonna (y) Condizione di memoria (“0”) T1 saturo; T2 interdetto; x, y = 0,3 V; W/R = 0,5 V. (Circola corrente in T1, x, y, ma non nella linea W/R perché è ad un potenziale più alto) è una condizione stabile 12 VaiA RAM Bipolare Operazione di lettura x, y = 3V T1 e T2 rimangono nello stesso stato; la corrente del transistor T2 circola ora sulla linea W/R. Individuando quale linea W/R è percorsa da corrente si risale allo stato della memoria (se la linea bit “1” non è percorsa da corrente allora il bit memorizzato è “1”). Vcc (+5V) linea bit ”1” S = “1” linea bit ”0” S = “0” T1 T2 selezione riga (x) W/R W/R selezione colonna (y) Operazione di scrittura (viene scritto uno “0” ovvero si deve interdire T1) x, y = 3V e la linea W/R del bit “0” a livello alto T2 interdetto mentre T1 conduce per effetto del livello basso di W/R relativo alla linea bit “1”. VaiA 13 RAM NMOS T3 e T4 sono depletion.mos e hanno solo la funzione di resistenze di carico per T1 e T2 che funzionano come un flip-flop. Condizione di memoria (“1”) 5V linea bit ”1” p n off T4 linea bit ”0” T3 on off p 5V T5 n T1 off 0V n n off T6 T2 on x, y T1 = off, T2 = ON, x, y = “0” T5, T6 = “off” Questa è una condizione stabile che rispetto alle RAM bipolari permette di dissipare meno energia in quanto non circola corrente. Infatti nelle condizioni esposte T3 è off e T4 è on cosicchè su ciascuna linea che va da +5V a massa c’è sempre un transistor off. VaiA 14 RAM NMOS Condizioni di lettura 5V linea bit ”1” T4 linea bit ”0” T3 p on off p x, y = 1 e le linee bit “0” e bit “1” a n 5V 0V n potenziale basso circola corrente T6 off T5 n n off nella linea bit “1” T2 on T1 off poiché ha il x, y potenziale a destra di T5 alto. Condizioni di scrittura x, y = 1 e linea del bit interessato (bit “1” se si vuole scrivere un “1”, bit “0” se si vuole scrivere uno “0”) alto si porterà alto il potenziale dall’altra parte del transistor con la linea del bit alta. VaiA 15 RAM DINAMICHE linee di refresh 0V S = “1” T3 0V S = “0” T1 T4 T2 off on C1 C2 bit “1” bit “0” linea di selezione x, y VaiA 16 RAM DINAMICHE Condizione di memoria T1 off, T2 on e x, y = 0 C2 è carico, C1 è scarico. Questa condizione non è stabile e nel tempo (10 ms) C2 si scarica e T2 diventa off. Operazione di refresh x, y = 10 V e bit “0”, bit “1” = 5V T3, T4 vanno in conduzione. Circola corrente solo verso il condensatore carico (C2), che così si rigenera. T3 T4 T1 T2 C1 C2 x, y <5 V 0V T3 T4 T1 T2 5V 5V C1 bit “1” C2 x, y bit “0” VaiA 17 RAM DINAMICHE <5 V Operazione di lettura Si procede come per il refresh e si esamina su quale linea bit circola corrente apprezzabile. Operazione di scrittura (scrivo uno “0” ovvero porto T2 in interdizione) x, y = 10 V e linea bit “0” = 10 V T1 conduce T2 si interdice. 0V T3 T4 T1 T2 5V 5V C1 bit “1” C2 bit “0” x, y T3 T4 T1 T2 10 V C1 bit “1” C2 x, y bit “0” VaiA 18 Charge Couple Devices Sono memorie ad alta densità di immagazzinamento, realizzate con materiale semiconduttore. Per queste memorie il tempo di accesso (in questo caso detto anche tempo di latenza) è superiore a quello ad accesso casuale per una singola cella, ma diventa inferiore per leggere l’intera memoria. 5V 10V Q 15V 5V 10V 15V Q Durante la fase di acquisizione il CCD ha i singoli PIXEL in condizione di immagazzinare elettroni grazie ai potenziali dei tre elettrodi che creano una buca di potenziale opportuna. VaiA 19 Charge Couple Devices Poiché le celle di memoria sono equivalenti, è possibile procedere allo scorrimento delle cariche immagazzinate nelle singole celle di memoria, utilizzando solo tre segnali che collegano gli elettrodi simili. 5V 10V Q 15V 5V 10V 15V Q Alla fine dell’elemento di linea c’è un amplificatore di carica che legge il contenuto della memoria. L’informazione dell’indirizzo relativo alla cella della quale l’amplificatore di carica sta leggendo il valore è deducibile utilizzando il CLOCK, che temporizza tutto il processo di lettura. VaiA 20 Charge Couple Devices riga n+1 parte in lettura riga n parte in memorizzazione CCD televisivo La memoria può essere organizzata in modo bidimensionale, ed in tal caso esisterà una struttura analoga in verticale capace di trasferire il contenuto di un’intera riga nella riga superiore; quindi attraverso un’opportuna operazione di scorrimento orizzontale si procede alla lettura. Nei CCD per uso televisivo la struttura è duplicata in modo che mentre una parte è in fase di lettura l’altra parte è in fase di memorizzazione VaiA 21 Organizzazione decodifica delle memorie Un chip di memoria contiene di solito un certo numero di byte, per cui per comporre una certa estensione di memoria occorre organizzare questi banchi in modo opportuno. Questi chip presentano, oltre all’alimentazione e alla massa: Un set di pin (address bus) per indirizzare le singole celle di memoria; Un set di pin (data bus) come supporto per l’entrata e l’uscita dei dati; Un pin (R/W) per controllare la scrittura o lettura del dato; Un pin (CS) per selezionare il chip. DB 0 data bus DB 7 AD0 address bus 1 Kbyte AD9 R/W CS VaiA 22 Organizzazione decodifica delle memorie DB0 Supponiamo ora di voler organizzare una zona di memoria di 4 Kb data bus AD0 address bus AD0 1 Kbyte AD9 R/W data bus 1 Kbyte AD9 CS AD0 R/W data bus 1 Kbyte AD9 CS AD0 R/W 1 Kbyte AD9 CS R/W R/W Concettualmente sono necessari 12 bit per l’indirizzamento ed il segnale R/W AD10 AD11 AD11 AD9 AD0 selezione della locazione del chip selezione del chip data bus CS DB7 VaiA 23 Organizzazione decodifica delle memorie data bus DB0 DB7 AD0 address 1 Kbyte bus 1 Kbyte 1 Kbyte 1 Kbyte 1 Kbyte 1 Kbyte 1 Kbyte 1 Kbyte AD9 00 01 A0 A1 02 A2 decoder 8205 07 E1 E2 E3 +5V AD10 AD11 AD12 AD12 AD9 AD0 selezione della locazione del chip selezione del chip 24 VaiA Lettura dei dati Si suppone che ad un certo istante t0, considerato istante iniziale, venga fornito l’indirizzo di memoria della parola che si desidera leggere. L’invio di questo indirizzo non rende automaticamente disponibile il dato richiesto: deve essere anche attivato il segnale di abilitazione della memoria CS. tempo di lettura INDIRIZZO CS DATI VALIDI tR tempo di accesso t0 Dall’attivazione di questo segnale iniziano le varie attività all’interno della memoria per rendere disponibile all’esterno il dato richiesto. Questo avverrà dopo un tempo indicato in figura come tempo di ritardo tR. Considerando che l’operazione di lettura richiede necessariamente anche l’invio dell’indirizzo, si può dire che il minimo tempo necessario per avere il dato a disposizione è quello indicato in figura con il nome di tempo di accesso. 25 VaiA Lettura dei dati tempo di lettura Il tempo di accesso può assumere valori variabili da pochi ns fino a qualche s, in base al tipo di memoria utilizzata, ed in particolare della tecnologia impiegata. INDIRIZZO CS DATI VALIDI tR tempo di accesso t0 L’operazione di lettura termina non appena è possibile l’invio di un nuovo indirizzo per leggere un altro dato, dopo aver prelevato quello precedente. Da parte di un utilizzatore della memoria, una operazione di lettura richiede un tempo che nella figura è compreso fra le due variazioni dei segnali che forniscono l’indirizzo. 26 VaiA Scrittura dei dati All’istante iniziale t0 viene fornito l’indirizzo di memoria della parola che si desidera modificare. E’ reso quindi attivo il segnale chip select CS. Successivamente si invia il segnale R/W per informare che l’operazione che si desidera compiere è di scrittura. Infine è inviato il dato da scrivere, che deve restare disponibile per un certo tempo per completare l’operazione di scrittura. Questo tempo può essere spesso diviso in due parti: Un primo intervallo di tempo, indicato in figura con tdw, è il tempo minimo che deve tempo di scrittura INDIRIZZO CS R/W DATI DATI VALIDI t0 tdw th intercorrere da quando il dato è valido a quando il segnale R/W è disattivato; un secondo tempo, che può essere indicato come tempo di mantenimento th, è il tempo minimo durante il quale il dato da scrivere deve essere mantenuto valido dopo che il segnale R/W è stato disattivato. 27 VaiA Scrittura dei dati tempo di scrittura Dopo quest’ultimo intervallo di tempo l’indirizzo può assumere un nuovo valore, per iniziare un’altra operazione di scrittura. L’intervallo di tempo compreso fra due possibili modifiche dell’indirizzo prende il nome di tempo di scrittura. INDIRIZZO CS R/W DATI DATI VALIDI t0 tdw th Si vuole far presente che sono possibili anche altri modi di organizzazione. Ad esempio non è sempre necessario che gli indirizzi siano disponibili per l’intero ciclo di scrittura o lettura: con questo tempo si deve intendere il ritardo che ci deve essere all’istante t0 in cui ha avuto inizio una operazione a quello in cui è possibile iniziarne un’altra. 28 OSSERVAZIONI VaiA Diapositiva 10: Nel secondo disegno sostituita la scritta EPROM con E2. Diapositive 11, 12, 15: Sostituita nel disegno della RAM Bipolare la Q con la M, in quanto si è riusciti a trovare il carattere M soprasegnato (Inserisci Simbolo - MS Reference 1), mentre ciò non è stato possibile per la lettera Q. Diapositiva 13: Ci sono nel disegno ben tre scritte “T3”: unoa è stata eliminata (quella sopra T2on) mentre quella sopra T1 è stata corretta con T4. In tal modo c’è corrispondenza tra quello che viene detto nel testo ( T3 off e T4 on) e quanto riportato nel disegno. Diapositiva 16: I due schemini semplificati sono stati completati, per renderli piu aderenti a quanto riportato nel testo, in cui si parla di T3, T4, x, y, bit “0”, bit “1”. Verificare la correttezza delle modifiche apportate. Inoltre nel testo, dopo la frase Condizione di memoria, sono state soppresse le parole: (indicata nello schema sopra). Diapositiva 17: Vengono riproposti due schemini semplificati. Quello superiore è lo stesso dell’Operazione di refresh della diapositiva precedente; quello inferiore è stato realizzato sulla scorta del testo “Operazione di scrittura…”. Verificarne la correttezza. Diapositive 18 e 19: Nella figura il terzo valore di tensione è stato corretto da 5 V a 15 V. E’ esatto? 29 OSSERVAZIONI VaiA Diapositiva 23: E’ corretto il titolo della diapositiva? O è meglio titolarla “Decoder 8205”? Anziché ripetere nel disegno otto volte “Data bus”, tale testo è stato inserito tra le linee DB0 e DB7 . Diapositive 24, 25 e 26: Piccole correzioni nel testo. Diapositiva 26:Nel testo è stato sostituito W sopralineato con W sottolineato. Diapositiva 27: L’ultima frase del testo, dopo … l’intero ciclo di scrittura o lettura:… non è affatto chiara (forse manca qualcosa nel testo). Diapositive # >27: Che titolo si deve dare alle diapositive successive alla 27 (ancora da realizzare)? Verificare tutti i titoli delle diapositive e il sottotitolo della diapositiva titolo.