Elettronica Digitale Anno Accademico 2009/2010 Massimo Barbaro Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Informazioni sul corso Massimo BARBARO Dipartimento p di Ingegneria g g Elettrica ed Elettronica Padiglione B, secondo piano T l 070675 5770 – Email: Tel. E il [email protected] b b @ i it Orario di ricevimento: su appuntamento da fissare per email. 23 Settembre 2009 ED - Intro Massimo Barbaro 2 Programma dettagliato del Corso (1) Introduzione ai sistemi digitali g Linguaggio Verilog Sistemi digitali – Campionamento e quantizzazione – Rappresentazione delle informazioni – Richiami sull’algebra di Boole – Cenni alla storia dei circuiti integrati – Legge di Moore - Scaling Concetto C tt di modulo d l – Operatori O t i – Descrizioni D i i i strutturali, t tt li dataflow ed algoritmiche – Net e register – Concetto di testbench Inverter CMOS Caratteristica di trasferimento statica (VTC) – Margini di rumore – Fan Fan-in in e Fan Fan-out out – Layout - Caratteristiche dinamiche (tempo di propagazione) – Dissipazione di potenza – Simulazione spice e verilog 23 Settembre 2009 ED - Intro Massimo Barbaro 3 Programma dettagliato del Corso (2) Logica Combinatoria Logica Sequenziale Logiche statiche (CMOS, pseudo-NMOS, pass-transistor) – Logiche dinamiche (concetto di base, domino, np-CMOS) – Caratterestiche dinamiche (legge di Elmore) – Logical effort Tri-state - Simulazione e descrizione di blocchi combinatori in linguaggio Verilog – Simulazione Spice Bistabilità - Latch e flip-flop – Simulazione e descrizione Verilog di blocchi sequenziali – Implementazione CMOS statica t ti – Implementazione I l t i CMOS dinamica di i Memorie a semiconduttore Classificazione delle memorie – Architetture di memorie – ROM – RAM – RAM non volatili – Circuiti base (elemento di memoria, sense amplifier) – Descrizione Verilog 23 Settembre 2009 ED - Intro Massimo Barbaro 4 Struttura del Corso Ore di lezione: 50 Libri di testo: Lucidi di lezione (sono sufficienti per preparare l’esame) “Circuiti Integrati Digitali 2e” – Jan M. Rabaey, A. Chandrakasan, B. Nicolic – Ed. Pearson Education Italia ((Prentice Hall)) ((in italiano)) “Modeling, Synthesis and Rapid Prototyping with the Verilog HDL” – Michael D. Ciletti – Ed. Prentice Hall Struttura dell’esame: scritto e orale Sono previste 2 prove scritte intermedie: 1a: Venerdì 13 Novembre 2009, ore 14:00 2a: Venerdì 08 Gennaio 2010, ore 14:00 Sito del corso: http://www.diee.unica.it/eolab2/corsi.html Mailing g List: http://lists.unica.it/mailman/listinfo/esd1 p 23 Settembre 2009 ED - Intro Massimo Barbaro 5 Strumenti di studio Simulatori: Spice: software per la simulazione dei circuiti a livello t transistor i t Utilizzeremo un simulatore gratuito, chiamato SwitcherCAD III (Linear Technologies) reperibile all’indirizzo (si può scaricare anche a c e se senza a registrarsi): eg st a s ) http://www.linear.com/designtools/softwareRegistration.jsp Modelsim: software per la simulazione dei blocchi descritti in g gg verilog g termini di linguaggio Utilizzeremo una versione demo, gratuita, del simulatore, con alcune limitazioni in termini di velocità di simulazione (inavvertibili nel caso dei semplici circuiti che useremo). Per utilizzare il software è necessario registrarsi e scaricare un file di licenza (collegato al numero seriale del hard-disk del pc). Il software è reperibile presso all’indirizzo: http://www.xilinx.com/ise/optional_prod/mxe.htm E’ disponibile un CD, in portineria del Padiglione B, con il materiale e le istruzioni p per l’installazione e la registrazione g 23 Settembre 2009 ED - Intro Massimo Barbaro 6 Prerequisiti Culturali Calcolatori Elettronici Algebra di Boole Mappe di Karnaugh Mi i i Minimizzazione i di ffunzioni i i llogiche i h Porte Logiche L i combinatoria Logica bi t i e sequenziale i l Dispositivi Elettronici 1 Equazioni caratteristiche del transistor MOS Processo CMOS 23 Settembre 2009 ED - Intro Massimo Barbaro 7 Obiettivi Comprendere il funzionamento base dei circuiti digitali in tecnologia CMOS ed il loro impatto sulle caratteristiche dei sistemi in cui sono impiegati. Capire p ed analizzare l’elemento base ((inverter)) fino a livello di transistor. Essere in grado di descrivere e simulare semplici blocchi digitali utilizzando il linguaggio verilog (linguaggio di descrizione dell’hardware). Essere in grado di progettare semplici porte logiche a livello transistor (simulazione spice). C i Capire il legame l f fra l’ l tt i l’elettronica (i circuiti, i iti i blocchi bl hi combinatori e sequenziali) all’interno dei sistemi ed il funzionamento dei sistemi stessi. stessi 23 Settembre 2009 ED - Intro Massimo Barbaro 8 Percorsi didattici Il corso di ED è il punto di partenza per un percorso didattico che comprende p i corsi: Sistemi Digitali e Processori (SDP, 10 crediti) Sistemi Embedded ((SE, 6 crediti)) Simulazione e verifica di circuiti digitali con HDL – Macchine a stati - Sintesi di sistemi digitali g – Realizzazione di sistemi digitali g – Laboratorio di sistemi digitali – Architetture e progetto di processori Architetture di sistemi embedded – Interfaccia HW-SW per sistemi embedded – Cenni di microarchitetture avanzate (DSP, superscalare, VLIW) – Microarchitetture di processori reali (ARM) – Architetture A hit tt i t integrate t per il digital di it l signal i l processing i – Digital Di it l Signal Processor Microelettronica (UE, 6 crediti) Circuiti integrati – Processo CMOS e tecniche di layout Progettazione analogica – Circuiti per l’elaborazione del segnale (S&H, comparatori) – Circuiti a capacità commutate – Convertitori D/A e A/D – Cenni di place&route 23 Settembre 2009 ED - Intro Massimo Barbaro 9 Sistemi Digitali Lucidi del Corso di Elettronica Digitale Modulo 1 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Sistemi digitali I sistemi digitali occupano ormai in maniera pervasiva quasi ogni aspetto della realtà moderna S Sono alla ll base b praticamente ti t di ognii sistema i t di elaborazione, conservazione o trasferimento d ll’i f dell’informazione, i qualunque l sia i l la natura t dell’informazione stessa Sono così diffusi che spesso li utilizziamo senza neanche rendercene conto 23 Settembre 2009 ED - Intro Massimo Barbaro 11 Sistemi digitali Utilizziamo un insieme di sistemi digitali complessi quando: Telefoniamo Guardiamo un DVD o la TV (digitale terrestre) Preleviamo soldi dal bancomat Lavoriamo al PC F t Fotografiamo fi Programmiamo il condizionatore d’aria Guidiamo 23 Settembre 2009 ED - Intro Massimo Barbaro 12 Vantaggi dei sistemi digitali Nell’ambito di questo corso avremo modo di vedere perché i sistemi digitali si siano diffusi in modo così pervasivo. I loro l principali i i li vantaggi t i sono: Programmabilità Versatilità Velocità Precisione Costo Semplicità di progettazione 23 Settembre 2009 ED - Intro Massimo Barbaro 13 Sistemi Digitali Un sistema digitale è un qualsiasi sistema elettronico in cui le informazioni vengono rappresentate in forma binaria, utilizzando cioè solo due simboli (0 e 1) e ll’elaborazione elaborazione si basa sull’algebra di Boole (o della commutazione) 23 Settembre 2009 ED - Intro Massimo Barbaro 14 Segnali Digitali Campionamento e quantizzazione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Segnali digitali I segnali digitali sono DISCRETIZZATI NEL TEMPO DISCRETIZZATI IN AMPIEZZA Questo Q t significa i ifi che h un qualsiasi l i i segnale, l che h sia esso un suono, un’immagine, una t temperatura t o qualsiasi l i i altra lt cosa, è rappresentato da una sequenza di NUMERI: Ogni numero rappresenta il valore del segnale in un particolare istante (istante di campionamento) O i numero può Ogni ò assumere un insieme i i di discreto t e finito di valori possibili 23 Settembre 2009 ED - Intro Massimo Barbaro 16 Segnali digitali Segnale Il segnale originale varia con continuità nel tempo e può assumere qualsiasi valore in ampiezza t Campionamento Si considera il valore del segnale solo in determinati istanti di tempo chiamati istanti di campionamento t Q Quantizzazione ti i Si suddivide l’intervallo di variazione del segnale in un certo numero (finito) di livelli di quantizzazione e si discretizza il valore campionato, ossia si memorizza solo l’intervallo di appartenenza t e non il valore l esatto tt 23 Settembre 2009 ED - Intro t Massimo Barbaro 17 Quantizzazione Quantizzare significa discretizzare, passare cioè da un insieme continuo di valori ad un insieme discreto. Avendo ad esempio, Avendo, esempio un segnale che può assumere valori fra 0 e 4, 4 discretizzare su 4 livelli significa dividere l’intervallo 0-4 in 4 sottointervalli: Intervallo 0-1 Intervallo 1-2 I t Intervallo ll 2-3 23 Intervallo 3-4 A seconda dell’intervallo nel quale ricade il segnale, esso verrà rappresentato con un numero associato a quel particolare intervallo. Tutti i valori dello stesso intervallo vengono quindi rappresentati con lo stesso numero 33 3.3 2.76 4 3 3 2 2 0.5 E Errore di quantizzazione ti i 1 0 0 23 Settembre 2009 ED - Intro Massimo Barbaro 18 Campionamento e quantizzazione E’ possibile dimostrare, matematicamente, che il processo di campionamento, che permette di t f trasformare un segnale l continuo ti ( (come un suono)) in i una sequenza di numeri NON comporta perdita di informazione. E’ quindi sempre possibile, sotto opportune t condizioni, di i i ricostruire i t i esattamente tt t il segnale l originale Il p processo di q quantizzazione,, invece,, introduce un errore (errore di quantizzazione) che non può più essere recuperato (se rappresento sia 2.76 che 2.1 con il numero 2 non saprò mai quale era il numero originario). Se il numero di livelli di quantizzazione, però, è sufficientemente elevato, l’errore diventa molto piccolo e trascurabile. L L’errore errore massimo è infatti pari all’ampiezza del singolo intervallo, che risulta molto piccola se si prende un gran numero di intervalli 23 Settembre 2009 ED - Intro Massimo Barbaro 19 Segnali digitali Un’immagine fissa, ad esempio, è rappresentata da una matrice di numeri che rappresentano pp l’intensità luminosa 39 49 58 42 54 35 31 68 52 36 74 27 48 56 53 61 50 22 51 69 94 89 36 22 48 73 65 40 53 38 30 32 27 28 30 31 Un video è rappresentato da una sequenza di immagini fisse, quindi un insieme i i di immagini i i i ognuna presa in i un certo t istante i t t di campionamento 39 49 31 68 48 56 51 48 30 58 48 48 52 53 42 39 31 36 61 54 49 74 50 ED - Intro 58 27 54 22 68 52 74 69 94 89 4836 5622 39 48 56 53 61 50 73 65 40 4853 5638 31 51 69 94 89 36 32 27 28 4830 5631 53 48 73 65 40 53 51 69 94 30 32 27 28 30 48 73 65 30 23 Settembre 2009 35 32 Massimo Barbaro 27 35 27 49 22 68 22 61 38 89 31 40 28 58 35 52 27 50 22 36 22 53 38 30 31 20 Segnali digitali Un documento di testo è rappresentato da una sequenza di numeri, numeri ognuno dei quali rappresenta una lettera e le eventuali sequenze di controllo (a capo, tabulazione, etc.) secondo d un sistema i t di codifica difi detto ASCII 23 Settembre 2009 ED - Intro 73 I 110 n 115 s 116 t 97 a 108 l 108 l 105 i 110 n 103 g Massimo Barbaro 21 Rappresentazione dei numeri Rappresentazione binaria dei segnali campionati p e discretizzati Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Sistemi digitali Proprio il fatto che le informazioni sono rappresentate sempre come numeri ha dato il nome a questo tipo di sistemi DIGIT : Termine inglese per CIFRA Non tutti i sistemi elettronici sono sistemi digitali, ad d esempio i Musicassette Televisione terrestre analogica 23 Settembre 2009 ED - Intro Massimo Barbaro 23 Rappresentazione dei numeri Come vengono rappresentati, a loro volta, i numeri? Utilizzando la notazione posizionale N = b3r3+b2r2+b1r1+b0r0 b3b2b1b0 Cifra (può assumere un valore compreso fra 0 e r-1)) Base (radix, (radix in inglese) In una rappresentazione decimale, ovviamente, r=10 e le cifre sono comprese fra 0 e 9 23 Settembre 2009 ED - Intro Massimo Barbaro 24 Rappresentazione binaria In generale, in un sistema digitale la base utilizzata è 2 (numeri binari) in quanto si hanno a disposizione solo due cifre (0 e 1) D = b323+b222+b121+b020 b3b2b1b0 Esempio: D = 1x23+0x22+1x21+1x20= 1110 10112 Il p pedice in basso a destra indica la base della notazione 23 Settembre 2009 ED - Intro Massimo Barbaro 25 Rappresentazione dei numeri Generalizzando rispetto al numero N di cifre utilizzate, la formula per ricavare ll’equivalente equivalente decimale di un numero binario è: Word (N bit) b0 bNN-11 0 1 1 0 1 0 0 1 Bit (bi) N −1 D = ∑b 2 i =0 23 Settembre 2009 i i b0 bit meno significativo (estrema destra) bN-1 è il bit più significativo (estrema sinistra) ED - Intro Massimo Barbaro 26 Rappresentazione binaria La rappresentazione fisica avviene per mezzo di grandezze elettriche. A disposizione ci sono fondamentalmente 3 grandezze d d da utilizzare tili (tensione, corrente, carica). V (volt) 5 3.5 1 (vero) 1.5 Normalmente la scelta cade sulla tensione, tensione che è più facile da maneggiare e misurare. 23 Settembre 2009 ED - Intro 0 0 ((falso)) Massimo Barbaro 27 Rappresentazione binaria A ciascun simbolo, quindi, viene associato un intervallo di valori di tensione e non un 5 singolo valore. I due intervalli sono separati da una banda proibita di 3.5 valori di tensione che non dovrebbero MAI essere raggiunti. La presenza di disturbi 1.5 (rumore) quindi non altera i dati a meno che l’intensità 0 del rumore stesso non causi un salto da un intervallo all’altro all altro. 23 Settembre 2009 ED - Intro V (volt) Il dato non cambia valore ΔV1 ΔV2 Il dato cambia valore Massimo Barbaro 28 Rappresentazione binaria La rappresentazione binaria è quindi un’astrazione logica che consente di dimenticare i dettagli fisici (il segnale in realtà è una tensione quindi un segnale analogico) per concentrarsi sugli aspetti logici del sistema L’esistenza di soli 2 simboli, inoltre, rende più semplice realizzare i circuiti i iti perché hé il rumore influenza i fl molto lt meno il comportamento t t dei d i dispositivi Le operazione logiche seguono le regole dell’algebra di Boole (d ll commutazione) (della t i ) 23 Settembre 2009 ED - Intro Massimo Barbaro 29 Vantaggi dei sistemi digitali Versatilità Il fatto che tutte le informazioni, informazioni di qualunque natura siano, siano vengano rappresentate nello stesso modo (con NUMERI), permette di utilizzare gli stessi strumenti elettronici per applicazioni diverse. diverse Ad esempio, esempio lo stesso microcontrollore utilizzato nel cellulare per elaborare e codificare la voce (un suono) potrebbe essere usato nella realizzazione del sistema ABS della d ll macchina, hi che h elabora l b i invece l velocità la l ità delle d ll ruote t per decidere come ripartire la frenata. Programmabilità Visto che i dati sono rappresentati nello stesso modo, al cambiare del tipo di dato si può cambiare non il sistema stesso ma solo l la l sequenza di operazioni i i che h esso svolge l suii dati d ti stessi (il programma) 23 Settembre 2009 ED - Intro Massimo Barbaro 30 Vantaggi dei sistemi digitali Precisione La rappresentazione interna delle informazioni avviene usando SOLO 2 simboli (1 e 0). Questo rende i circuiti digitali più precisi perché più resistenti al rumore (i due simboli sono ben separati ll’uno uno dall dall’altro) altro) Velocità La maggiore precisione consente anche una maggiore velocità, perché i circuiti NON digitali sono costretti a sprecare molte risorse per garantire lo stesso livello di precisione. L’utilizzo L utilizzo di un maggior numero di risorse causa un rallentamento dell’elaborazione 23 Settembre 2009 ED - Intro Massimo Barbaro 31 Vantaggi dei sistemi digitali Costo La versatilità e programmabilità dei sistemi digitali nei diminuisce il costo perché aumenta il potenziale numero di applicazioni sui cui dividere i costi fissi. Se lo stesso processore lo posso vendere ai produttori di cellulari, cellulari ai fabbricanti di automobili ed elettrodomestici, ai produttori di hifi, suddividerò il costo di progettazione, realizzazione e ricerca su tutti t tti glili utenti t ti diminuendone di i d l’i l’impatto tt sull prezzo finale fi l Semplicità di progettazione L uso dei soli due simboli consente di applicare tecniche di L’uso progettazione standard, facili da apprendere e da automatizzare (vedremo meglio in seguito) 23 Settembre 2009 ED - Intro Massimo Barbaro 32 Elaborazione di segnali digitali Richiami sull’algebra di Boole Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L’algebra di Boole o della commutazione è lo strumento che si usa per ll’elaborazione elaborazione dell’informazione binaria. L’algebra L algebra di Boole si basa su 2 simboli (0/1) e i 3 operatori: somma (+), prodotto (•) e negazione () (‘). Dal corso di Calcolatori Elettronici dovrebbero essere noti g gli assiomi ed i teoremi su cui si basa l’algebra della commutazione. In questo corso si farà uso delle nozioni di base come strumento t t per arrivare i alla ll sintesi i t i di circuiti i iti logici. 23 Settembre 2009 ED - Intro Massimo Barbaro 34 Algebra della commutazione L’algebra della commutazione è definita su un insieme di due elementi (0 e 1), 1) che sono gli elementi con cui abbiamo costruito la rappresentazione delle informazioni e che corrispondono al FALSO e VERO dell’algebra inizialmente sviluppata da Boole Gli operatori sono 3, gli stessi di Boole: PRODOTTO LOGICO SOMMA LOGICA NEGAZIONE 23 Settembre 2009 ED - Intro (AND, ·) (OR, +) (NOT, ‘) Massimo Barbaro 35 Funzioni logiche Una funzione logica g è una relazione algebrica g ingresso/uscita che lega un numero N di ingressi con l’uscita. x1 x2 F( 1,x2,…,xN) F(x F xN 23 Settembre 2009 ED - Intro Massimo Barbaro 36 Rappresentazione di funzioni logiche Una qualsiasi funzione logica può essere rappresentata in svariati modi. modi Tabella di verità: la tabella di verità ha tante righe quante sono le possibili combinazioni degli ingressi e per ogni riga viene indicato il valore della funzione Espressione logica: la funzione è rappresentata per mezzo di un un’espressione espressione algebrica contenente le variabili di ingresso e gli operatori logici di base Mappe di Karnaugh: rappresentazione grafica basata sulla visualizzazione delle combinazioni di ingressi per cui la funzione vale 1 (o 0), utilizzata per la minimizzazione della funzione stessa Schematico: rappresentazione grafica per mezzo di simboli 23 Settembre 2009 ED - Intro Massimo Barbaro 37 Principali funzioni logiche NOT Espressione algebrica l bi Z=X’ Tabella di verità X Z 0 1 1 0 Simbolo grafico OR Z=X+Y 23 Settembre 2009 X Y Z X Y Z 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 ED - Intro AND Z=X•Y Massimo Barbaro 38 Principali funzioni logiche NOR Z=(X+Y)’ XOR Z= X•Y’ + X’•Y 23 Settembre 2009 X Y Z X Y Z 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 X Y Z X Y Z 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 ED - Intro NAND Z=(X•Y)’ XNOR Z=X’•Y’+X•Y Massimo Barbaro 39 Implementazione di funzioni logiche E’ dimostrabile che qualsiasi funzione logica può essere implementata con i soli operatori di somma, prodotto e negazione e con solo 2 livelli di logica. logica Ossia con somme di prodotti o prodotti di somme. 1° livello 2° livello A’ B F C’ D Somma di prodotti 23 Settembre 2009 ED - Intro 1° livello 2° livello A B’ F’ C D’ Prodotto di somme Massimo Barbaro 40 Insieme funzionalmente completi L’insieme AND, OR, NOT è dunque funzionalmente completo perché avendo a disposizione solo tali operatori è possibile implementare ogni funzione logica Anche il solo insieme AND, NOT è f funzionalmente i l t completo, l t grazie i all teorema t di DeMorgan che consente di trasformare una somma in i un prodotto d tt Per dualità è completo anche il solo insieme OR, NOT 23 Settembre 2009 ED - Intro Massimo Barbaro 41 Insieme funzionalmente completi Il solo operatore NAND (il simbolo della NAND è ↑) è un insieme funzionalmente completo, completo infatti: Con una NAND si può implementare l’operatore NOT: Con la NAND si può implementare il prodotto AB = (AB)’’ = (A ↑ B)’ = (A ↑ B) ↑ (A ↑ B) Con la NAND si p può implementare p la somma A’ = (AA)’ = A NAND A A+B = (A+B)’’ = (A’B’)’ = (A ↑ A) ↑ (B ↑ B) Analogamente g si p può mostrare che la sola NOR è un insieme funzionalmente completo 23 Settembre 2009 ED - Intro Massimo Barbaro 42 Implementazione con operatori NAND A’ B F C C’ D (X Y)’ NAND(X Y) (X•Y)’=NAND(X,Y) Per il teorema di DeMorgan è ibil trasformare t f l somma la possibile di prodotti in modo da avere solo operatori NAND (X’ Y’) (X Y)’ NAND(X Y) (X’+Y’)=(X•Y)’=NAND(X,Y) A’ B F C’ D A’ B F C’ D 23 Settembre 2009 ED - Intro Massimo Barbaro 43 Implementazione con operatori NOR A’ B F Analogamente è possibile li il prodotto d tt di somme realizzare con soli operatori NOR C C’ D (X Y)’ NOR(X Y) (X+Y)’=NOR(X,Y) (X’ • Y’)=(X+Y)’=NOR(X,Y) Y’) (X Y)’ NOR(X Y) A’ B F C’ D A’ B F C’ D 23 Settembre 2009 ED - Intro Massimo Barbaro 44 Realizzazione fisica di sistemi digitali Evoluzione tecnologica dei sistemi di elaborazione digitali g Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Sistemi digitali Il concetto stesso di elaborazione digitale ha avuto un drammatico impatto sull sull’evoluzione evoluzione della società moderna portando allo sviluppo della tecnologia con maggiore tasso di crescita mai prodotta nella storia dell’umanità U Una rapida id carrellata ll t sulla ll storia t i d ll della realizzazione di sistemi digitali e della tecnologia di realizzazione li i fi i fisica d i dispositivi dei di iti i integrati i t ti consente di meglio comprendere gli aspetti peculiari li i della d ll progettazione tt i ed d utilizzazione tili i di sistemi di questo genere 23 Settembre 2009 ED - Intro Massimo Barbaro 46 Il primo calcolatore La prima macchina calcolatrice paragonabile ad un moderno elaboratore non è un dispositivo elettronico ma bensì meccanico, il “Difference Engine g I” realizzato da Babbage nel 1832 Macchina in grado di compiere operazioni elementari in sequenza arbitraria Sistema di numerazione decimale Composto da più di 25000 componenti meccanici Costo di 17470 sterline dell’epoca 23 Settembre 2009 ED - Intro Massimo Barbaro 47 Elettronica digitale La svolta, nella realizzazione di sistemi di calcolo automatici avvenne con il automatici, passaggio all’elettronica che consentiva costi minori e minore complessità costruttiva Inizialmente si trattava comunque di dispositivi basati su valvole (vacuum tubes), tubes) quindi ancora ingombranti e dispendiosi in termini di energia I primi elaboratori ebbero uso militare (ENIAC, usato nella II Guerra Mondiale per il calcolo delle traiettorie balisistiche dell’artiglieria americana) 23 Settembre 2009 ED - Intro ENIAC - 1946 18000 valvole Dimensioni di una stanza Massimo Barbaro 48 Il transistor Data la complessità della tecnologia valvolare non era possibile aumentare la potenza di calcolo degli elaboratori a valvole (l’ENIAC aveva meno capacità di calcolo di quella contenuta in un telefonino GSM) La svolta avviene nel 1947 con l’invenzione del transistor (Bell Telephone Laboratories). Il transistor implementa le stesse funzionalità di una valvola in forma integrata (a stato solido)) quindi q occupando meno spazio, utilizzando meno potenza e raggiungendo velocità enormemente t superiori i i 23 Settembre 2009 ED - Intro 1947 – Transistor a giunzione Massimo Barbaro 49 Circuiti integrati Lo sviluppo della tecnologia porta rapidamente alla capacità di integrare più transistor sullo stesso pezzo di materiale dando il via allo sviluppo dei circuiti integrati e ll’esplosione esplosione delle capacità di elaborazione implementabili su un singolo pezzo di silicio (chip) Il primo circuito integrato è realizzato da Jack Kilby nel 1958 (Texas Instruments) 23 Settembre 2009 ED - Intro Il primo integrato: phase shift oscillator Massimo Barbaro 50 Il transistor MOS L’ultima svolta di rilievo nella tecnologia elettronica è stata ll’introduzione introduzione del transistor MOS, alla fine degli anni ’60 (anche se l’idea di base risale al 1925, 1925 ma limiti tecnici di produzione impedirono la realizzazione) Il transistor t i t MOS, MOS con la l sua incredibile i dibil capacità ità di scalare (diminuire in dimensione) al migliorare d ll tecnologia della t l i ha h permesso l’esplosione l’ l i d l del mercato elettronico e la miniaturizzazione estrema t d i circuiti dei i iti integrati i t ti 23 Settembre 2009 ED - Intro Massimo Barbaro 51 Legge di Moore (1965) Nel 1965 Gordon Moore predisse che il numero di transistor contenuti in un circuito integrato g sarebbe aumentato in modo esponenziale, ossia che sarebbe DUPLICATO ogni 18 mesi Il g grafico originale g Moore (fonte Intel) 23 Settembre 2009 ED - Intro Massimo Barbaro di 52 Legge di Moore aggiornata Più volte è stata annunciata l’impossibilità di mantenere il passo dettato da tale legge, eppure risulta valida ancora oggi La legge di Moore è diventata quasi un pungolo per ll’intera intera industria elettronica che si sente obbligata a rispettarla (fonte Intel) 23 Settembre 2009 ED - Intro Massimo Barbaro 53 Scaling L’aumento del numero di transistor contenuti in un circuito integrato è legato principalmente alla miniaturizzazione del singolo transistor (scaling) che consente di ottenere: Circuiti più compatti Più veloci Meno dispendiosi in termini commutazione (1->0 (1 >0 o 0->1) 0 >1) 23 Settembre 2009 ED - Intro di energia Massimo Barbaro per 54 Esempio : Pentium 4 Lunghezza del canale dei transistor : 130nm 42.000.000 transistor 23 Settembre 2009 ED - Intro Massimo Barbaro 55 Esempio : Pentium Core 2 Quad Lunghezza del canale dei t transistor i t : 65nm 65 582.000.000 transistor 23 Settembre 2009 ED - Intro Massimo Barbaro 56 Tecnologia attuale: 65nm PMOS (g (gate 65nm)) Livelli di metal per le interconnessioni (8) (fonte Intel) 23 Settembre 2009 ED - Intro Massimo Barbaro 57 Aumento della frequenza Lo scaling ha permesso il continuo aumento della velocità dei processori 23 Settembre 2009 ED - Intro Massimo Barbaro 58 Limiti all’aumento dell’integrazione Uno dei maggiori limiti all’aumento dell’integrazione non è solo tecnologico ma anche pratico: all’aumento dei componenti integrati aumenta la dissipazione di potenza sul chip 23 Settembre 2009 ED - Intro Massimo Barbaro 59 Aumento della potenza L’aumento della potenza presto renderà impossibile diminuire la quantità di calore sviluppata dal singolo chip P ò essere solo Può l parzialmente i l corretto a livello li ll di progettazione i 23 Settembre 2009 ED - Intro Massimo Barbaro 60 Riassumendo I sistemi digitali costituiscono la grandissima maggioranza gg dei sistemi elettronici I segnali digitali sono campionati e quantizzati La rappresentazione delle informazioni è binaria I simboli binari sono rappresentati elettricamente da intervalli di tensioni L’ l b L’elaborazione i d ll informazioni delle i f i i sii basa b sull’algebra ll’ l b di Boole Esistono vari metodi per rappresentare una funzione logica Il rapido sviluppo della tecnologia del silicio ha permesso una crescita vertiginosa delle capacità di elaborazione di un qualsiasi sistema digitale 23 Settembre 2009 ED - Intro Massimo Barbaro 61 Legge di Moore “Topolino nel mondo di Eta Beta” 29 Novembre 1981 23 Settembre 2009 ED - Intro Massimo Barbaro 62 Legge di Moore “Topolino nel mondo di Eta Beta” 29 Novembre 1981 23 Settembre 2009 ED - Intro Massimo Barbaro 63 Legge di Moore “Topolino nel mondo di Eta Beta” 29 Novembre 1981 23 Settembre 2009 ED - Intro Massimo Barbaro 64 Legge di Moore “Topolino nel mondo di Eta Beta” 29 Novembre 1981 23 Settembre 2009 ED - Intro Massimo Barbaro 65