Informazioni sul corso Massimo BARBARO Dipartimento di Ingegneria Elettrica ed Elettronica Padiglione B, secondo piano Elettronica Digitale Tel. 070675 5770 – Email: [email protected] Anno Accademico 2006/2007 Massimo Barbaro Orario di ricevimento: giovedì 10-13 (o su appuntamento) Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 02 Ottobre 2006 Programma dettagliato del Corso (1) Sistemi digitali – Campionamento e quantizzazione – Rappresentazione delle informazioni – Richiami sull’algebra di Boole – Cenni alla storia dei circuiti integrati – Legge di Moore - Scaling Concetto di modulo – Operatori – Descrizioni strutturali, dataflow ed algoritmiche – Net e register – Concetto di testbench Caratteristica di trasferimento statica (VTC) – Margini di rumore – Fan-in e Fan-out – Layout - Caratteristiche dinamiche (tempo di propagazione) – Dissipazione di potenza – Simulazione spice e verilog 02 Ottobre 2006 ED - Intro Massimo Barbaro 3 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 Logica Sequenziale Inverter CMOS 2 Logica Combinatoria Linguaggio Verilog Massimo Barbaro Programma dettagliato del Corso (2) Introduzione ai sistemi digitali ED - Intro Bistabilità - Latch e flip-flop – Simulazione e descrizione Verilog di blocchi sequenziali – Implementazione CMOS statica – Implementazione CMOS dinamica Memorie a semiconduttore Classificazione delle memorie – Architetture di memorie – ROM – RAM – RAM non volatili – Circuiti base (elemento di memoria, sense amplifier) – Descrizione Verilog 02 Ottobre 2006 ED - Intro Massimo Barbaro 4 Struttura del Corso Prove intermedie, III anno, I sem. 2006/07 Ore di lezione: 50 Libri di testo: Prima prova intermedia Insegnamento 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 Sito del corso: http://www.diee.unica.it/eolab2/corsi.html Mailing List: http://lists.unica.it/mailman/listinfo/esd1 ED - Intro Massimo Barbaro CMP1 Campi Elettromagnetici 1 No ---- ---- ---- No ---- ---- ---- Elettronica 1 ED Elettronica Digitale Scritto 17/11/2006 Aula V 14:00 MIS Misure Elettroniche Scritto 16/11/2006 Aula V 15:00 TIC Teoria dell'informazione e codici Scritto ---- ---- ---- CMP1 Campi Elettromagnetici 1 No ---- ---- ---- ELE1 Elettronica 1 No ---- ---- ---- ED Elettronica Digitale Scritto 21/12/2006 Aula V 14:00 MIS Misure Elettroniche Orale Da definire ---- ---- TIC Teoria dell'informazione e codici Scritto 22/12/2006 ---- ---- 5 02 Ottobre 2006 ED - Intro Massimo Barbaro 6 Prerequisiti Culturali Spice: software per la simulazione dei circuiti a livello transistor Modelsim: software per la simulazione dei blocchi descritti in termini di linguaggio verilog 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 Calcolatori Elettronici Utilizzeremo un simulatore gratuito, chiamato SwitcherCAD III (Linear Technologies) reperibile all’indirizzo (si può scaricare anche senza registrarsi): http://www.linear.com/designtools/softwareRegistration.jsp Ora La possibilità di svolgere la seconda prova intermedia prima di Natale è ancora da verificare! Simulatori: Aula ELE1 Strumenti di studio Data Seconda prova intermedia Struttura dell’esame: scritto e orale Sono previste 2 prove scritte intermedie: 1a: 17 Novembre 2006, ore 14:00, Aula V 2a: 21 Dicembre 2006, ore 14:00, Aula V 02 Ottobre 2006 Prova Algebra di Boole Mappe di Karnaugh Minimizzazione di funzioni logiche Porte Logiche Logica combinatoria e sequenziale Dispositivi Elettronici 1: Equazioni caratteristiche del transistor MOS Processo CMOS E’ disponibile un CD, in portineria del Padiglione B, con il materiale e le istruzioni per l’installazione e la registrazione 02 Ottobre 2006 ED - Intro Massimo Barbaro 7 02 Ottobre 2006 ED - Intro Massimo Barbaro 8 Obiettivi Percorsi didattici Comprendere il funzionamento base dei circuiti digitali in tecnologia CMOS ed il loro impatto sulle caratteristiche dei sistemi in cui sono impiegati. Capire 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). Capire il legame fra l’elettronica (i circuiti, i blocchi combinatori e sequenziali) all’interno dei sistemi ed il funzionamento dei sistemi stessi. 02 Ottobre 2006 ED - Intro Massimo Barbaro 9 Il corso di ED è il punto di partenza per un percorso didattico che comprende 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 – Realizzazione di sistemi digitali – 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 integrate per il digital signal processing – Digital 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 02 Ottobre 2006 ED - Intro Massimo Barbaro 10 Sistemi digitali Sistemi Digitali Lucidi del Corso di Elettronica Digitale Modulo 1 I sistemi digitali occupano ormai in maniera pervasiva quasi ogni aspetto della realtà moderna Sono alla base praticamente di ogni sistema di elaborazione, conservazione o trasferimento dell’informazione, qualunque sia la natura dell’informazione stessa Sono così diffusi che spesso li utilizziamo senza neanche rendercene conto Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 02 Ottobre 2006 ED - Intro Massimo Barbaro 12 Sistemi digitali Vantaggi dei sistemi digitali Utilizziamo un insieme di sistemi digitali complessi quando: Telefoniamo Guardiamo un DVD Preleviamo soldi dal bancomat Lavoriamo al PC Fotografiamo Programmiamo il condizionatore d’aria Guidiamo Nell’ambito di questo corso avremo modo di vedere perché i sistemi digitali si siano diffusi in modo così pervasivo. I loro principali vantaggi sono: 02 Ottobre 2006 ED - Intro Massimo Barbaro 13 Programmabilità Versatilità Velocità Precisione Costo Semplicità di progettazione 02 Ottobre 2006 ED - Intro Massimo Barbaro 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 l’elaborazione si basa sull’algebra di Boole (o della commutazione) Segnali Digitali Campionamento e quantizzazione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 02 Ottobre 2006 ED - Intro Massimo Barbaro 15 14 Segnali digitali Segnale I segnali digitali sono Segnali digitali Il segnale originale varia con continuità nel tempo e può assumere qualsiasi valore in ampiezza DISCRETIZZATI NEL TEMPO DISCRETIZZATI IN AMPIEZZA Questo significa che un qualsiasi segnale, che sia esso un suono, un’immagine, una temperatura o qualsiasi altra cosa, è rappresentato da una sequenza di NUMERI: Ogni numero rappresenta il valore del segnale in un particolare istante (istante di campionamento) Ogni numero può assumere un insieme discreto e finito di valori possibili 02 Ottobre 2006 ED - Intro Massimo Barbaro 17 t Campionamento Si considera il valore del segnale solo in determinati istanti di tempo chiamati istanti di campionamento 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 e non il valore esatto 02 Ottobre 2006 Quantizzazione Intervallo 0-1 Intervallo 1-2 Intervallo 2-3 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 3.3 2.76 4 3 3 2 2 0.5 Errore di quantizzazione 1 0 0 02 Ottobre 2006 ED - Intro Massimo Barbaro ED - Intro t Massimo Barbaro 18 Campionamento e quantizzazione Quantizzare significa discretizzare, passare cioè da un insieme continuo di valori ad un insieme discreto. Avendo, ad esempio, un segnale che può assumere valori fra 0 e 4, discretizzare su 4 livelli significa dividere l’intervallo 0-4 in 4 sottointervalli: t Quantizzazione 19 E’ possibile dimostrare, matematicamente, che il processo di campionamento, che permette di trasformare un segnale continuo (come un suono) in una sequenza di numeri NON comporta perdita di informazione. E’ quindi sempre possibile, sotto opportune condizioni, ricostruire esattamente il segnale originale Il processo di 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’errore massimo è infatti pari all’ampiezza del singolo intervallo, che risulta molto piccola se si prende un gran numero di intervalli 02 Ottobre 2006 ED - Intro Massimo Barbaro 20 Segnali digitali Segnali digitali Un’immagine fissa, ad esempio, è rappresentata da una matrice di numeri che rappresentano 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 documento di testo è rappresentato da una sequenza di numeri, ognuno dei quali rappresenta una lettera e le eventuali sequenze di controllo (a capo, tabulazione, etc.) secondo un sistema di codifica detto ASCII Un video è rappresentato da una sequenza di immagini fisse, quindi un insieme di immagini ognuna presa in un certo istante di campionamento 39 49 58 42 54 35 31 68 48 56 51 48 30 48 52 36 49 74 31 27 54 61 30 02 Ottobre 2006 58 50 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 48 53 39 ED - Intro 32 27 35 27 49 22 68 22 61 38 89 31 40 28 Massimo Barbaro 73 I 110 n 115 s 116 t 97 a 108 l 108 l i 58 35 105 52 27 110 n 50 22 103 g 36 22 53 38 30 31 21 02 Ottobre 2006 ED - Intro Massimo Barbaro 22 Sistemi digitali Rappresentazione dei numeri Rappresentazione binaria dei segnali campionati e discretizzati 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 esempio Musicassette Televisione terrestre analogica Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 02 Ottobre 2006 ED - Intro Massimo Barbaro 24 Rappresentazione dei numeri Come vengono rappresentati, a loro volta, i numeri? Utilizzando la notazione posizionale Rappresentazione binaria N = b3r3+b2r2+b1r1+b0r0 b3b2b1b0 Cifra (può assumere un valore compreso fra 0 e r-1) Esempio: Base (radix, in inglese) ED - Intro Massimo Barbaro Il pedice in basso a destra indica la base della notazione 25 02 Ottobre 2006 1 1 0 1 0 0 La rappresentazione fisica avviene per mezzo di grandezze elettriche. A disposizione ci sono fondamentalmente 3 grandezze da utilizzare (tensione, corrente, carica). b0 0 ED - Intro 1 D = ∑b 2 i =0 02 Ottobre 2006 i i b0 bit meno significativo (estrema destra) bN-1 è il bit più significativo (estrema sinistra) ED - Intro Massimo Barbaro 26 V (volt) 5 3.5 1 (vero) 1.5 Bit (bi) N −1 Massimo Barbaro Rappresentazione binaria Generalizzando rispetto al numero N di cifre utilizzate, la formula per ricavare l’equivalente decimale di un numero binario è: Word (N bit) bN-1 D = 1x23+0x22+1x21+1x20= 1110 10112 Rappresentazione dei numeri D = b323+b222+b121+b020 b3b2b1b0 In una rappresentazione decimale, ovviamente, r=10 e le cifre sono comprese fra 0 e 9 02 Ottobre 2006 In generale, in un sistema digitale la base utilizzata è 2 (numeri binari) in quanto si hanno a disposizione solo due cifre (0 e 1) 27 Normalmente la scelta cade sulla tensione, che è più facile da maneggiare e misurare. 02 Ottobre 2006 ED - Intro 0 0 (falso) Massimo Barbaro 28 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. 02 Ottobre 2006 ED - Intro Rappresentazione binaria V (volt) Il dato non cambia valore ∆V1 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 perché il rumore influenza molto meno il comportamento dei dispositivi Le operazione logiche seguono le regole dell’algebra di Boole (della commutazione) ∆V2 Il dato cambia valore Massimo Barbaro 29 02 Ottobre 2006 Vantaggi dei sistemi digitali Il fatto che tutte le informazioni, di qualunque natura siano, vengano rappresentate nello stesso modo (con NUMERI), permette di utilizzare gli stessi strumenti elettronici per applicazioni diverse. Ad esempio, lo stesso microcontrollore utilizzato nel cellulare per elaborare e codificare la voce (un suono) potrebbe essere usato nella realizzazione del sistema ABS della macchina, che elabora invece la velocità delle ruote 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 la sequenza di operazioni che esso svolge sui dati stessi (il programma) 02 Ottobre 2006 ED - Intro Massimo Barbaro Massimo Barbaro 30 Vantaggi dei sistemi digitali Versatilità ED - Intro 31 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 l’uno dall’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 di un maggior numero di risorse causa un rallentamento dell’elaborazione 02 Ottobre 2006 ED - Intro Massimo Barbaro 32 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, ai fabbricanti di automobili ed elettrodomestici, ai produttori di hifi, suddividerò il costo di progettazione, realizzazione e ricerca su tutti gli utenti diminuendone l’impatto sul prezzo finale Elaborazione di segnali digitali Richiami sull’algebra di Boole Semplicità di progettazione L’uso dei soli due simboli consente di applicare tecniche di progettazione standard, facili da apprendere e da automatizzare (vedremo meglio in seguito) Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) 02 Ottobre 2006 ED - Intro Massimo Barbaro 33 Algebra di Boole Algebra della commutazione L’algebra di Boole o della commutazione è lo strumento che si usa per l’elaborazione dell’informazione binaria. 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 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 per arrivare alla sintesi di circuiti logici. 02 Ottobre 2006 ED - Intro Massimo Barbaro 35 L’algebra della commutazione è definita su un insieme di due elementi (0 e 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 02 Ottobre 2006 ED - Intro (AND, ·) (OR, +) (NOT, ‘) Massimo Barbaro 36 Funzioni logiche Rappresentazione di funzioni logiche Una funzione logica è una relazione algebrica ingresso/uscita che lega un numero N di ingressi con l’uscita. Una qualsiasi funzione logica può essere rappresentata in svariati modi. x1 x2 F(x1,x2,…,xN) F xN 02 Ottobre 2006 ED - Intro Massimo Barbaro 37 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’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 02 Ottobre 2006 Principali funzioni logiche NOT Espressione algebrica Z=X’ Z 0 1 1 0 NOR Z=(X+Y)’ Simbolo grafico OR Z=X+Y 02 Ottobre 2006 X Y Z 0 0 0 0 1 1 1 0 1 1 Massimo Barbaro 38 Principali funzioni logiche Tabella di verità X ED - Intro X Y Z 0 0 1 NAND Z=(X•Y)’ X Y Z 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 X Y Z 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 ED - Intro AND Z=X•Y Massimo Barbaro XOR Z= X•Y’ + X’•Y 39 02 Ottobre 2006 ED - Intro XNOR Z=X’•Y’+X•Y Massimo Barbaro 40 Implementazione di funzioni logiche Insieme funzionalmente completi 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. Ossia con somme di prodotti o prodotti di somme. 1° livello 2° livello A’ B F C’ D Somma di prodotti 02 Ottobre 2006 ED - Intro 1° livello 2° livello A B’ F’ C D’ Prodotto di somme Massimo Barbaro 41 02 Ottobre 2006 Insieme funzionalmente completi Con una NAND si può implementare l’operatore NOT: Massimo Barbaro 42 A’ B F C’ D (X•Y)’=NAND(X,Y) AB = (AB)’’ = (A ↑ B)’ = (A ↑ B) ↑ (A ↑ B) Per il teorema di DeMorgan è possibile trasformare la somma di prodotti in modo da avere solo operatori NAND (X’+Y’)=(X•Y)’=NAND(X,Y) Con la NAND si può implementare la somma A’ = (AA)’ = A NAND A Con la NAND si può implementare il prodotto ED - Intro Implementazione con operatori NAND Il solo operatore NAND (il simbolo della NAND è ↑) è un insieme funzionalmente completo, infatti: 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 è funzionalmente completo, grazie al teorema di DeMorgan che consente di trasformare una somma in un prodotto Per dualità è completo anche il solo insieme OR, NOT A+B = (A+B)’’ = (A’B’)’ = (A ↑ A) ↑ (B ↑ B) Analogamente si può mostrare che la sola NOR è un insieme funzionalmente completo 02 Ottobre 2006 ED - Intro Massimo Barbaro 43 A’ B F C’ D A’ B F C’ D 02 Ottobre 2006 ED - Intro Massimo Barbaro 44 Implementazione con operatori NOR A’ B F Analogamente è possibile realizzare il prodotto di somme con soli operatori NOR C’ D Realizzazione fisica di sistemi digitali (X+Y)’=NOR(X,Y) (X’ • Y’)=(X+Y)’=NOR(X,Y) A’ B F A’ B Evoluzione tecnologica dei sistemi di elaborazione digitali F C’ D C’ D 02 Ottobre 2006 ED - Intro Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Massimo Barbaro 45 Sistemi digitali Il primo calcolatore Il concetto stesso di elaborazione digitale ha avuto un drammatico impatto sull’evoluzione della società moderna portando allo sviluppo della tecnologia con maggiore tasso di crescita mai prodotta nella storia dell’umanità Una rapida carrellata sulla storia della realizzazione di sistemi digitali e della tecnologia di realizzazione fisica dei dispositivi integrati consente di meglio comprendere gli aspetti peculiari della progettazione ed utilizzazione di sistemi di questo genere 02 Ottobre 2006 ED - Intro Massimo Barbaro 47 La prima macchina calcolatrice paragonabile ad un moderno elaboratore non è un dispositivo elettronico ma bensì meccanico, il “Difference Engine 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 02 Ottobre 2006 ED - Intro Massimo Barbaro 48 Elettronica digitale La svolta, nella realizzazione di sistemi di calcolo automatici, avvenne con il passaggio all’elettronica che consentiva costi minori e minore complessità costruttiva Inizialmente si trattava comunque di dispositivi basati su valvole (vacuum 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) 02 Ottobre 2006 ED - Intro 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). ENIAC - 1946 18000 valvole Dimensioni di una stanza Massimo Barbaro 49 Il transistor implementa le stesse funzionalità di una valvola in forma integrata (a stato solido) quindi occupando meno spazio, utilizzando meno potenza e raggiungendo velocità enormemente superiori 02 Ottobre 2006 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 l’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) 02 Ottobre 2006 ED - Intro Massimo Barbaro 50 Il transistor MOS Il primo integrato: phase shift oscillator Massimo Barbaro ED - Intro 1947 – Transistor a giunzione 51 L’ultima svolta di rilievo nella tecnologia elettronica è stata l’introduzione del transistor MOS, alla fine degli anni ’60 (anche se l’idea di base risale al 1925, ma limiti tecnici di produzione impedirono la realizzazione) Il transistor MOS, con la sua incredibile capacità di scalare (diminuire in dimensione) al migliorare della tecnologia ha permesso l’esplosione del mercato elettronico e la miniaturizzazione estrema dei circuiti integrati 02 Ottobre 2006 ED - Intro Massimo Barbaro 52 Legge di Moore (1965) Legge di Moore aggiornata Nel 1965 Gordon Moore predisse che il numero di transistor contenuti in un circuito integrato sarebbe aumentato in modo esponenziale, ossia che sarebbe DUPLICATO ogni 18 mesi Il grafico originale Moore (fonte Intel) 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 l’intera industria elettronica che si sente obbligata a rispettarla di (fonte Intel) 02 Ottobre 2006 ED - Intro Massimo Barbaro 53 02 Ottobre 2006 Scaling ED - Intro Circuiti più compatti Più veloci Meno dispendiosi in termini commutazione (1->0 o 0->1) 02 Ottobre 2006 ED - Intro 54 Esempio : Pentium 3 L’aumento del numero di transistor contenuti in un circuito integrato è legato principalmente alla miniaturizzazione del singolo transistor (scaling) che consente di ottenere: Massimo Barbaro Lunghezza del canale dei transistor : 180nm 28 milioni di transistor di energia Massimo Barbaro per 55 02 Ottobre 2006 ED - Intro Massimo Barbaro 56 Tecnologia attuale: 65nm Aumento della frequenza Lo scaling ha permesso il continuo aumento della velocità dei processori PMOS (gate 65nm) Livelli di metal per le interconnessioni (8) (fonte Intel) 02 Ottobre 2006 ED - Intro Massimo Barbaro 57 02 Ottobre 2006 Limiti all’aumento dell’integrazione ED - Intro Massimo Barbaro Massimo Barbaro 58 Aumento della potenza 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 02 Ottobre 2006 ED - Intro 59 L’aumento della potenza presto renderà impossibile diminuire la quantità di calore sviluppata dal singolo chip Può essere solo parzialmente corretto a livello di progettazione 02 Ottobre 2006 ED - Intro Massimo Barbaro 60 Riassumendo I sistemi digitali costituiscono la grandissima maggioranza 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’elaborazione delle informazioni si basa sull’algebra 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 02 Ottobre 2006 ED - Intro Massimo Barbaro 61