Circuiti digitali Architettura 1 2001 © Roberto Bisiani, 2000,2001 3/10/2000
Argomenti trattati in... Tanenbaum Cap 3, sezioni: 3.1 tutto 3.2.1, 3.2.2 (PLA no), 3.2.3, 3.2.4 3.3.1 (latch D no), 3.3.2 , 3.3.3 3.3.4, 3.3.5, 3.3.6 3.4.1, 3.4.2 (non wired-or), 3.4.3 3.6.1, 3.6.2 (fino all’arbitraggio escluso), 3.6.3 3.7.2 3/10/2000
Scopi e modi Durata: Goal: sei lezioni Sapere il MINIMO necessario per poter comprendere il funzionamento di un calcolatore al livello architetturale (quello assembler, per intenderci) 3/10/2000
I calcolatori funzionano con circuiti: basati su una semplice logica MA implementabili con tecnologie diversissime 3/10/2000
Funzioni e circuiti Variabili di Morsetti (fili) di F(A) A ingresso uscita Morsetti (fili) di V= 0 V=5 3/10/2000
Valori logici Due valori vero/falso 1/0 alto/basso …./…. EQUIVALENTI!!!!! 3/10/2000
Cenni tecnologici Un circuito logico puo’ essere implementato in molti modi Le proprieta’ richieste alla tecnologia sono: possibilita’ di rappresentare due valori ben distinti tensione alta/bassa; corrente alta/bassa; luce/buio; suoni di frequenza diversa; … possibilita’ di combinare valori per calcolare nuovi valori il piu’ velocemente possibile (ad esempio la luce puo’ avere valori di intensita’ distinti ma non si combina facilmente) 3/10/2000
Tecnologia: relais interruttore comandato semplice invertitore Tensione all’ingresso niente tensione all’uscita Niente tensione all’ingresso tensione all’uscita 3/10/2000
Un circuito a relais 3/10/2000
Tecnologia: transistor semplice invertitore 3/10/2000
Valori logici/valori fisici La mappatura di valori logici in valori fisici, cioe’ dipendenti dalla tecnologia, e’ arbitrario. Tutte e due le mappature sono corrette basta che un circuito sia basato su una sola mappatura tensione alta --> 1 tensione bassa --> 0 tensione alta --> 0 tensione bassa --> 1 3/10/2000
Funzioni logiche Relazione tra variabili di ingresso e di uscita Es.: funzione che segnala se l’ascensore e’ disponibile, cioe’ se e’ al piano e se la porta e’ aperta Ingresso: Variabile A == 1 se l’ascensore e’ al piano, 0 altrimenti Variabile B == 1 se la porta e’ aperta, 0 se e’ chiusa Uscita: Variabile C == 1 se l’ascensore e’ disponibile C = f(A,B), C == 1 se sia A che B sono == 1 3/10/2000
Tabelle di verita’ Semplice rappresentazione tabellare di una funzione logica Possibili perche’ i possibili valori di una funzione logica sono (relativamente) limitati Es.: ascensore disponibile 3/10/2000
Porte logiche Dal punto di vista tecnologico: circuito con “valori fisici” di ingresso e uscita Dal punto di vista logico: una funzione tra variabili di ingresso e di uscita 3/10/2000
Porte logiche NOT 3/10/2000
Porte logiche OR 3/10/2000
Porte logiche AND 3/10/2000
Porte logiche NAND 3/10/2000
Esempio, implementazione della porta NAND 3/10/2000
Porte logiche NOR 3/10/2000
Algebra booleana Algebra con variabili e funzioni a due valori Una funzione Booleana di n variabili ha 2n valori quindi si puo’ rappresentare con una tabella (chiamata tabella di verita’) NOT, AND, OR, ecc. sono semplici funzioni Booleane 3/10/2000
Funzioni Booleane Ci sono quattro diverse funzioni di una variabile Quali ??? 3/10/2000
Funzioni Booleane, cont. Ci sono quattro diverse funzioni di una variabile A, NOT A, 0, 1 3/10/2000
Funzioni Booleane, cont. Ci sono quattro diverse funzioni di una variabile A, NOT A, 0, 1 Ci sono 16 funzioni di due variabili Come mai? Quante funzioni di n variabili? 3/10/2000
Esempio di funzione “complessa” 3/10/2000
Esempio di funzione “complessa” 3/10/2000
Dalla tabella di verita’ alla funzione Somma di prodotti M = ~ABC + A~BC + AB~C + ABC ~ significa che il valore della variable che segue deve essere negato La funzione e’ espressa come somma (OR) delle combinazioni di variabili di ingresso (AND) che fanno assumere alla funzione il valore 1 3/10/2000
Sintesi di semplici funzioni booleane Tabella di verita’ Funzione in forma di somma di prodotti Implementazione con porte NOT, AND e OR 3/10/2000
Completezza di NAND e NOR Una qualunque funzione si puo’ implementare anche solo con dei NAND (o NOR) 3/10/2000
Completezza di NAND e NOR Una qualunque funzione si puo’ implementare anche solo con dei NAND (o NOR) 3/10/2000
Equivalenza dei circuiti 3/10/2000
Equivalenza dei circuiti, cont. 3/10/2000
Equivalenza dei circuiti, cont. I due circuiti sono in un caso “OR di AND” e nell’altro “AND di OR” 3/10/2000
Leggi 3/10/2000
Rappresentazioni equivalenti La legge di DeMorgan suggerisce delle trasformazioni che permettono di rappresentare la stessa funzione sia con porte OR che con porte AND (piu’ la negazione NOT) 3/10/2000
Rappresentazioni con un solo tipo di porta, esempio 3/10/2000
Come mai ci sono 16 diverse funzioni di due variabili? Una funzione di due variabili ha quattro (22) valori in corrispondenza delle quattro possibili combinazioni di ingresso. Ci sono 16 (222) combinazioni della variabile di uscita di una funzione logica. 3/10/2000
E allora quante sono le diverse funzioni di n variabili? 3/10/2000
Circuiti integrati Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell’affidabilita’ e nel costo dei circuiti 3/10/2000
Circuiti integrati Sinonimi: chip, IC, integrato. I componenti con molte porte devono contenere circuiti complessi con il minimo numero di connessioni esterne. I segnali logici viaggiano in un IC con un certo ritardo che dipende dal tipo di tecnologia: lo stato dell’arte commerciale e’ un ritardo intorno al nanosecondo, ns (miliardesimi di secondo, 10-9) 3/10/2000
Costruzione dei circuiti integrati Il circuito viene trasportato su “maschere” fotografiche: molti chip uguali insieme (wafer). Il circuito viene, in molti passi, costruito aggiungendo e togliendo materiale in maniera selettiva Ciascun circuito viene staccato dagli altri e provato. Ciascun circuito viene inserito in un “package” e collegato ai piedini esterni. 3/10/2000
Classificazione SSI 1-10 porte --- non piu’ usati MSI 10-100 porte --- usati solo in prodotti a bassissima integrazione e costo LSI 100-100,000 porte --- usati in prodotti molto semplici VLSI piu’ di 100,000 porte --- gran parte dei componenti di un calcolatore moderno 3/10/2000
Tecnologia oggi Commerciale: dimensioni: circa 0.1 m Bit per chip (memorie) 256 Mbit 4/16/2017
Esempi (Intel) 3/10/2000
Legge di Moore Il numero di transistor implementabili su un solo chip raddoppia ogni anno e mezzo (vedi sezione 1.3.1) Legge di Moore 3/10/2000
Fattori che limitano i miglioramenti della densita’ litografia – il problema e’ il costo, non la fattibilita’: I dettagli non possono essere molto piu’ piccoli della lunghezza d’onda della luce usata 0.19 m e’ il limite inferiore se si usa “luce” si puo’ arrivare a dimensioni inferiori usando i raggi x: Difficili da mettere a fuoco; Costosi. 4/16/2017
Fattori che limitano i miglioramenti della densita’ Leggi fondamentali della fisica: Ci deve essere un numero sufficiente di elettroni perche’ un circuito possa funzionare; questo limite e’ stimato tra 0.1m e 0.05m. Energia elettrica: Fornire energia e rimuovere calore; Ma maggiore e’ l’integrazione minore e’ il voltaggio e la dissipazione: forse questo non sara’ un problema. 4/16/2017
Packaging Da alcune decine fino a quasi mille connessioni (piedini). Dual-in-line 3/10/2000
Packaging, altri esempi Package a 787 piedini di Sparc (Sun) 3/10/2000
Packaging, altri esempi Pentium II (SECC) Piuttosto che un package e’ una cartuccia multichip 3/10/2000
Esempi di circuiti logici tipici Verranno usati come blocchi per costruire un calcolatore vero e proprio Sono disponibili commercialmente 3/10/2000
Multiplexer 3/10/2000
Uso dei multiplexer 3/10/2000
Demultiplexer L’inverso del multiplexer: invia un segnale di ingresso su una di n linee di uscita. 3/10/2000
Decoder 3/10/2000
Comparatori 3/10/2000
Shifter 3/10/2000
Mezzo-sommatore 3/10/2000
Sommatore completo 3/10/2000
ALU da 1 bit 3/10/2000
ALU da 8 bit 3/10/2000
Componenti che “ricordano” Le porte logiche da sole possono solo calcolare funzioni logiche ma non possono memorizzare i risultati. Per memorizzare i risultati (in assenza dei valori di ingresso che li hanno generati) bisogna che ci sia un qualche meccanismo di “mantenimento” dell’informazione. 3/10/2000
Terminologia I circuiti la cui uscita dipende esclusivamente dai valori di ingresso si chiamano combinatori e NON hanno memoria. I circuiti la cui uscita dipende anche da valori di uscita precedenti si chiamano sequenziali e contengono elementi di memoria. 3/10/2000
Circuiti sequenziali Questi circuiti hanno una parte combinatoria e una parte di memoria. Gran parte dei circuiti in un calcolatore sono circuiti sequenziali. 3/10/2000
Latch SR Stati stabili: 3/10/2000
Clock Segnale periodico Frequenza: numero di volte che il segnale torna allo stesso valore Misurata in Hz (Hertz) Periodo o tempo di ciclo: tempo tra due ritorni del segnale allo stesso valore, si misura in secondi. Inverso della frequenza 3/10/2000
Clock A cosa serve? A far “avanzare” i circuiti logici alternando momenti di calcolo a momenti di memorizzazione del risultato. 3/10/2000
Latch SR sincronizzato 3/10/2000
Flip-flop La differenza con i latch e che i flip-flop memorizzano l’informazione al momento di transizione del clock mentre i latch memorizzano in un particolare stato del clock. 3/10/2000
Flip-flop D 3/10/2000
Memoria, idea di base 3/10/2000
Tecnologia usata dalle memorie Matrice di transistor word-line bit-line 4/16/2017
Chip per implementare memorie 3/10/2000
Tipi di RAM e ROM 3/10/2000