CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare – VESPA Università di Milano CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI Storia delle macchine di calcolo TIE per le Produzioni Animali Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare – VESPA Università di Milano Contenuto della lezione Retroazione meccanica Prime macchine di calcolo Modelli teorici della computazione Modelli teorici di macchine di calcolo La nozione di codice Elettronica e macchine di calcolo Retroazione elettronica I - Retroazione meccanica UTILIZZO Attività di controllo Dati valutati Informazioni ANALISI RACCOLTA Dati grezzi Attività di monitoraggio Selezione e sintesi dei dati ELABORAZIONE II: PRIME MACCHINE CALCOLATRICI L’abaco Calcolatrici meccaniche L’ABACO L’ABACO L = F*s MACCHINE CALCOLATRICI MECCANICHE Cenni storici: IX – XIII sec. macchine complesse per automazione industriale, in particolare industria tessile. Telaio di Jacquard, controllato da schede perforate di cartone, che rendevano automatica la lavorazione della stoffa e i disegni realizzati nello stabilimento di tessitura Macchina per il calcolo inventata dal filosofo Pascal Macchina analitica di Charles Babbage, modello teorico, venne costruita di recente al museo della scienza e della tecnica di Milano. IL TELAIO A SCHEDE DI JACQUARD LE MACCHINE DI BABBAGE Congegno meccanico ideato per compiere un lavoro che potenzia quello che può svolgere l'uomo ECCO PERCHE’ PARLIAMO DI MACCHINE CALCOLATRICI L = F*s Il tutto è un poco complicato!!! III: MODELLI TEORICI DELLA COMPUTAZIONE Un PROGRAMMA e’ un ALGORITMO posto in forma comprensibile al computer Definizione informale di ALGORITMO: una sequenza FINITA di passi DISCRETI e NON AMBIGUI che porta alla SOLUZIONE di un problema UN PROBLEMA, DUE ALGORITMI: IL MASSIMO COMUN DIVISORE MCD: UN ALGORITMO ELEMENTARE Un algoritmo molto semplice per calcolare MCD: la SCOMPOSIZIONE IN FATTORI PRIMI 42 = 2 x 3 x 7 56 = 2 x 2 x 2 x 7 Algoritmo MCD(M, N): 1. 2. Scomponi M ed N in fattori primi Estrai i componenti comuni Questo metodo si’ puo’ solo applicare per numeri piccoli (la scomposizione in fattori primi e’ molto costosa) MCD: ALGORITMO DI EUCLIDE I moderni calcolatori non usano l’algoritmo elementare per calcolare il MCD, ma un algoritmo molto piu’ efficiente la cui prima menzione e’ negli Elementi di Euclide, e che divenne noto agli occidentali tramite AlKhwarizm ASTRAZIONE ED ALGORITMI sistema semplificato sistema reale astrazione IV: MODELLI TEORICI DELLE MACCHINE DI CALCOLO LA MACCHINA DI TURING Una descrizione estremamente astratta delle attivita’ del computer che pero’ cattura il suo funzionamento fondamentale Basata su un’analisi di cosa fa un calcolatore (umano o macchina) LA MACCHINA DI TURING Nastro con simboli nelle cellette Testina che legge i simboli. La testina ha ALCUNI (pochi) comportamenti. Quando legge il simbolo fa un poco come il gioco dell’oca. A esempio, si sposta di una cella indietro e scrive un altro simbolo al posto di quello che c’è. Oppure va avanti di un passo e cambia la regola con la quale operare nell’operazione successiva. COMPUTAZIONE E MEMORIA NELLA MACCHINA DI TURING In una macchina di Turing abbiamo: Una ‘MEMORIA’: un nastro di lunghezza indefinita, suddiviso in cellette che contengono simboli (ad es. ‘0’e ‘1’); Una ‘CPU’: una testina che si trova in ogni momento in uno fra un insieme limitato di stati interni e che si muove sul nastro, leggendo e se del caso modificando il contenuto delle cellette un PROGRAMMA: un insieme di regole che determinano il comportamento della testina a partire dal suo stato e dal simbolo letto (= sistema operativo) FUNZIONAMENTO DI UNA MACCHINA DI TURING MACCHINA DI TURING UNIVERSALE Nelle macchine di Turing piu’ semplici, si trova una distinzione molto chiara tra PROGRAMMA (= gli stati) e DATI (= contenuto del nastro) Turing pero’ dimostro’ che era possibile mettere anche il programma sul nastro, ed ottenere una macchina di Turing ‘universale’ – che LEGGEVA sul nastro la prossima istruzione da eseguire prima di leggere i DATI su cui occorreva eseguirla I computer moderni sono macchine di Turing universali. DALLA MACCHINA DI TURING AI COMPUTER MODERNI La macchina di Turing aiuta a capire come sia possibile manipolare informazione in base a un programma, leggendo e scrivendo due soli simboli: ‘0’e ‘1’ Da questo punto di vista, pur essendo un dispositivo ideale, la macchina di Turing è strettamente imparentata col computer Dalla macchina di Turing alla macchina di von Neumann Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla MACCHINA DI VON NEUMANN COMPUTAZIONE E MEMORIA IN UN COMPUTER CPU INPUT OUTPUT Istruzioni Dati MEMORIA Le funzioni di un computer elaborare l’informazione usando il processore (Central Processing Unit CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output PROGRAMMI E DATI Programmi: Prossima lezione: i programmi dal punto di visto dell’hardware I programmi: sequenze di istruzioni per l’elaborazione delle informazione Definiscono quale debba essere il comportamento del processore Dati: Distinzione tra dato e informazione: Dato: sequenza di bit, può essere interpretato in più modi diversi Informazione: dato + significato del dato V: LA NOZIONE DI CODICE Modalità di rappresentazione del mondo reale IL CODICE MORSE Simboli Efficienza IL CODICE BINARIO Simboli Efficienza VI: ELETTRONICA E CALCOLATORI Cio’ che ha permesso il passaggio dalle macchine di calcolo meccaniche ai calcolatori basati sull’elettronica e’ lo sviluppo di INTERRUTTORI ELETTRONICI: Prima il TUBO A VALVOLE Poi il TRANSISTOR Un interruttore permette di rappresentare i due stati: 1 (= passa la corrente), 0 (= non passa) Come naque l’elettronica!!!! ma gli si sporcava il vetro !!!!!! Ad Edison venne l’idea di usare un filamento carbonizzato per fare la luce e inventò la lampadina ad incandescenza ….. Non funzionò, ma si accorse che nel filo della placca passava corrente per tenere pulito il vetro ebbe l’idea di mettere una placca dentro il vetro, collegata a potenziale 0. Aveva inventato l’elettronica!!!!! gate Triodo a valvola Funzionamento normale (griglia scarica) drain source Carica griglia Regolazione uscita Interruttore + on - off Valvole, transistor e analogia idraulica drain Gli elettroni passano o non passano regolati dalla griglia l’acqua passa o non passa regolata dal rubinetto gate source TUBI A VALVOLE Semiconduttori al silicio (Si) STRATO Si N DROGATO CON Arsenico STRATO Si P DROGATO CON Boro WAFER Si NP SALDATO Transistor Rubinetto idraulico o griglia del triodo Transistor Tensione griglia = Vg = 0 Corrente = 0 Campo della regolazione Vg = max Corrente = max Off = chiuso Corrente proporzionale a Vg On = aperto Macchina calcolatrice elettronica MACRO (m ... cm) MICRO cm … µm Vgate=0 OFF Vgate = max ON NANO µm … nm 0 1 STORIA DEI COMPUTER ELETTRONICI Ispirati alla macchina di Turing 1936 Konrad Zuse costruì in casa lo Z1 usando i relè; 1941 c/o politecnico di Berlino Z3; 1942 macchina per il computo elettronico (Satanasso-BerryComputer). La memoria erano condensatori fissati ad un grande tamburo cilindrico di 1500 bit; 1943 COLOSSUS, costruito e rimasto segreto fino al 1970. Memorizzazione di dati in aritmetica binaria basati sulla ionizzazione termica di un gas SVILUPPO DEI CALCOLATORI ELETTRONICI 1943-46 ENIAC (Electronic Numerical Integrator and Computer) sviluppato da Eckert & Mauchly Logica DECIMALE 30 armadi x 3m, 30t per una superficie di 180m2, 300 moltiplicazioni al secondo fino al 1973 ritenuto il primo calcolatore elettronico ‘programmabile’ (riconnettendo i circuiti!!) 1945-49 EDVAC (Electronic Discrete Variable Automatic Computer ) Primo computer basato sull’ “Architettura di von Neumann” (dovuta a Eckert, Mauchly & von Neumann): programmi immagazzinati in memoria Logica BINARIA ARCHITETTURA ‘DI VON NEUMANN’ Eckert e Mauchly, dopo aver sviluppato ENIAC, proposero un modello in cui i programmi erano immagazzinati direttamente in memoria. (Mentre in ENIAC il programma doveva essere codificato direttamente in hardware). Il modello teorico che ne risulto’ – l’Architettura “di Von Neumann” influenzò direttamente la realizzazione di EDVAC (Electronic Discrete Variable Automatic Computer) DA ZUSE A EDVAC DOPO EDVAC 1948: primo computer commerciale (UNIVAC) 1954: primo computer a transistors (Bell Labs) ~1960: valvole sostituite da transistors 1971: primo microprocessore (Intel 4004) 1975: primo microcomputer (Altair) 1975: fondazione di Microsoft 1976: Apple I e Apple II 1979: primo Spreadsheet (VisiCalc) Unico obiettivo: miniaturizzazione Calcolatori meccanici Circuiti a transistor Circuiti a valvole Circuiti integrati Costruzione circuiti integrati detti anche CHIP SILICIO MONOCRISTALLINO https://www.youtube.com/watch?v=vKgeBYygXo Costruzione circuiti integrati: CHIP 200 FASI SI TRATTAMENTO SUPERFICIALE DEL WAFER Costruzione circuiti integrati: CHIP DEPOSIZIONE STRATI E RIMOZIONE STRATI SEPARAZIONE SINGOLI TRANSISTOR SUPERICIALI INUTILI COLLEGAMENTO ELETTRICO DEI DIVERSI COMPONENTI RICORDATE QUESTO!!!! Costruzione circuiti integrati: CHIP SEPARAZIONE DEL SINGOLO CHIP Costruzione circuiti integrati: CHIP COLLEGAMENTO DEL CHIP AI PIN (PIEDINI) E CHIUSURA DELLA CONFEZIONE LEGGE DI MOORE: « Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi. » Nuova conformazione spaziale dei transistor – tri-gate Dimensione dei transistors Attualmente 15 atomi di silicio A T ambiente, si potrà arrivare a 3-4 – poi ???? CIRCUITI STAMPATI quattro a sei strati di rame dove sono ricavate le piste che collegano i componenti, che devono essere calcolate con molta cura: alle frequenze normalmente adoperate dalle CPU e dalle memorieRAM in uso oggi, infatti, la trasmissione dei segnali elettrici non si può più considerare istantanea ma deve tenere conto dell'impedenza propria della pista di rame e delle impedenze di ingresso e di uscita dei componenti connessi, che influenzano il tempo di volo dei segnali da un punto all'altro del circuito. SCHEDE ELETTRONICHE I MODERNI COMPUTER SONO COSTITUITI DA PIU’ SCHEDE ELETTRONICHE COMBINATE TRA LORO (SCHEDA MADRE – SCHEDA VIDEO – SCHEDA AUDIO ETC.) Su questo circuito stampato vengono saldati una serie di circuiti integrati, di zoccoli e di connettori; a esempio in un PC gli integrati più importanti sono il chipset che svolge la gran parte del lavoro di interfaccia fra i componenti principali e i bus di espansione, la ROM (o PROM, EEPROM o simile), il Socket per ilprocessore e i connettori necessari per il montaggio degli altri componenti del PC e della espansione EMBEDDED SYSTEMS COMPUTER A FUNZIONE DEDICATA PARTICOLARMENTE USATI INTEGRATI IN PIU’ GRANDI SISTEMI MECCANICI O ELETTRONICI. Un esempio tipico e diffuso di Sistema embedded sono le centraline elettroniche ECU installate a bordo di macchine e impianti agricoli Picture of the internals of an ADSL modem/router. A modern example of an embedded system. Labelled parts include a microprocessor (4), RAM (6), and flash memory (7). VII -RETROAZIONE ELETTRONICA UTILIZZO Attività di controllo Dati valutati Informazioni ANALISI RACCOLTA Dati grezzi Attività di monitoraggio Selezione e sintesi dei dati ELABORAZIONE