Informatica Applicata - Architetture degli elaboratori © Alessandro Bogliolo Parte 1 Introduzione Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002 1 Informatica Applicata - Architetture degli elaboratori © Alessandro Bogliolo 1 Elaboratori general purpose 1.1 Aspetti economici dell’automazione. L’automazione di un processo ne riduce il costo di esecuzione, ma comporta un costo di sviluppo generalmente molto superiore a quello della singola esecuzione. L’automazione è vantaggiosa quando comporta un guadagno in efficienza e/o qualità del processo che compensa il costo di progetto e realizzazione della macchina automatica che lo esegue. Questo tipicamente avviene quando il processo deve essere ripetuto molte volte. Il primo grafico confronta il costo totale di Ne esecuzioni di un processo manuale e del corrispondente processo automatico. Le lettere indicano il costo di apprendimento del processo manuale (a), il costo di sviluppo del processo automatico (b), il costo di ogni esecuzione del processo manuale (c) e il costo di ogni esecuzione del processo automatico (d). Il secondo grafico mostra come il costo di sviluppo del processo automatico si ripartisce tra Nu utenti. La curva più spessa mostra il prezzo all’utente dello strumento automatico, ottenuto come somma del costo di sviluppo e realizzazione e dell’utile del produttore. La linea orizzontale tratteggiata indica il costo di realizzazione di ogni esemplare dello strumento automatico, sotto al quale il prezzo non può scendere. soluzione automatica b Costo Costo Costo Il terzo grafico mostra il costo di Ne esecuzioni del processo automatico nel caso in cui questo sia utilizzato anche da altri Nu utenti. utile d c b prezzo soluzione manuale a+c a 1.2 Nu=2 soluzione automatica soluzione manuale 1 2 Nu=1 e Numero di esecuzioni (Ne) f Nu=3 g Nu=4 h a 1 2 Numero di utenti (Nu) 1 2 Numero di esecuzioni (Ne) Sistemi automatici general purpose e special purpose • • • • • • • Special purpose (o application specific): sistema progettato e realizzato per risolvere un problema specifico. General purpose: sistema in grado di risolvere ampie classi di problemi diversi. Elaboratori programmabili: sistemi general purpose la cui generalità è data dalla capacità di interpretare ed eseguire un insieme finito di istruzioni elementari (instruction set). L’elaboratore può essere utilizzato per risolvere un problema specifico descrivendo (in termini di istruzioni elementari) il procedimento da seguire per arrivare alla soluzione del problema. Algoritmo: sequenza finita di operazioni univoche la cui esecuzione si conclude in un tempo finito. Programma: rappresentazione di un algoritmo nei termini di un linguaggio formale interpretabile da un computer. Hardware: insieme dei componenti tangibili e permanenti di un computer. Software: insieme dei programmi (intangibili e temporanei) che controllano il funzionamento dell’hardware. Un elaboratore programmabile può essere utilizzato ripetutamente per risolvere problemi diversi o istanze diverse dello stesso problema. In molti casi, l’automazione di un processo è conveniente solo se si può realizzare con elaboratori programmabili. In tal caso: o Il costo dell’hardware è estremamente ridotto grazie all’ampiezza del mercato o Il costo di acquisto dell’hardware viene ripartito su molteplici impieghi o Il software ha costi di produzione e di distribuzione molto contenuti (ma costi di sviluppo elevati) o Software specifico può essere sviluppato dagli utenti Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002 2 Informatica Applicata - Architetture degli elaboratori 1.3 © Alessandro Bogliolo Logica, reti di interruttori e codici binari • • • • Associando un significato logico alla presenza (1, vero) e all’assenza (0, falso) di un segnale elettrico è possibile utilizzare semplici reti di interruttori per valutare funzioni logiche elementari (ad esempio AND e OR). Qualsiasi funzione logica può essere espressa in termini dei soli operatori logici AND, OR e NOT Ogni informazione può (a meno di un’approssimazione) essere rappresentata come una sequenza di caratteri che possono assumere due soli simboli (0 e 1). Gli elaboratori sono, in ultima analisi, reti di interruttori in grado di svolgere qualsiasi tipo di elaborazione su qualsiasi tipo di informazione codificata in termini di 0 e 1. 2 Cenni storici [Bucci c1.1] 2.1 Era meccanica. 1642. Pascalina. Macchina calcolatrice di somme in base dieci con propagazione automatica dei riporti realizzata mediante un meccanismo di ruote dentate. Principio dell’accumulatore. La macchina calcolava anche sottrazioni effettuando somme di numeri in complemento a 10. La macchina fu inventata da Pascal per aiutare il padre esattore. 1673. Leibnitz perfeziona la pascalina effettuando anche moltiplicazioni e divisioni con somme e sottrazioni ripetute. 1725. Programmazione automatica dei telai tessili, ideata dal francese Jacquard. 1834. Macchina analitica. Prima macchina calcolatrice automatica programmabile, con memoria di dati e programmi. Concepita da Babbage ma mai realizzata per difficoltà tecniche. 1889. Macchina tabulatrice. Macchina a schede perforate progettata da Hollerith per accelerare le operazioni di censimento in America nel 1890 (l’elaborazione manuale dei dati del precedente censimento aveva richiesto 8 anni). 1936. Macchina di Turing. Modello astratto formulato da Turing nell’ambito della teoria del calcolo automatico. Concetti di operazioni elementari (instruction set) e di algoritmo finito. 1936. Shannon dimostra il legame tra logica simbolica e reti di interruttori. 2.2 Era elettromeccanica. Ingranaggi meccanici azionati elettricamente. 1941. Z1. Primo calcolatore elettromeccanico a relays, realizzato da Zuse in Germania. Prestazioni: 20 addizioni in virgola mobile al secondo, una moltiplicazione ogni 4 secondi. Registri. 1944. Mark-I. Progettato nel 1937 da Aiken, presso la Harward University, e realizzato tra il 1939 e il 1944 dall’IBM. Somme a 23 cifre in tre decimi di secondo. Sistema di numerazione binario, successive realizzazioni a valvole. 2.3 Era elettronica. Supera il principale svantaggio della meccanica, l’inerzia. 1946. ENIAC (Electronic Numeric Integrator Automatic Calculator). Realizzato con tubi a vuoto presso la University of Pennsylvania per il Dipartimento della Difesa Americano. 4 tonnellate su una superficie di 180mq. Prestazioni: 3000 moltiplicazioni al secondo in virgola fissa. 1951. EDVAC, Macchina di Von Neuman. Progettata da Von Neuman presso la Princeton University nel 1945. Central Processor Unit (CPU), memoria principale, programma memorizzato. 1963. CDC 6600.Mainframe. Supercalcolatori molto costosi condivisi da molti utenti. 1965. DEC PDP 8. Minicalcolatore. 1972. Intel. Microprocessore. Circuiti integrati. 1974. Intel 8080. Personal computer (PC). 1976. Intel 8086. 29000 transistori da 3 micron, 40 piedini, 5 MHz. Si comincia ad intuire l’importanza della compatibilità del software. Il valore del software supera il valore dell’hardware. Le nuove architetture devono garantire compatibilità con le precedenti per poterne ereditare il patrimonio software. L’8086 diventa lo standard di fatto, la Microsoft inizia ad imporsi come leader del mercato del software per PC. 1993. Intel Pentium (compatibile x86). Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002 3 Informatica Applicata - Architetture degli elaboratori © Alessandro Bogliolo 3 Microelettronica 3.1 Tendenze (e aspettative) di mercato • • • • • • • 3.2 Tendenze tecnologiche • • • • • • 3.3 Riduzione dei costi Riduzione di dimensioni Aumento delle prestazioni Aumento delle funzionalità Aumento della disponibilità Aumento di affidabilità Rapida obsolescenza Legge di Moore: il numero di componenti integrabili su un singolo chip raddoppia ogni 1.5 anni per effetto dello scaling, riduzione in scala delle dimensioni dei dispositivi. Il ritardo di propagazione di un gate elementare dimezza ogni 5 anni (fattore annuale x) La capacità di elaborazione di un chip (rapporto tra numero di componenti e ritardo) aumenta del 70% all’anno Lo scaling geometrico è tradizionalmente accompagnato da una riduzione x della tensione di alimentazione, per mantenere costante il campo elettrico 2 • La potenza istantanea assorbita da ogni componente diminuisce con x La frequenza operativa dei sistemi elettronici raddoppia ogni 3 anni • La potenza media assorbita aumenta di conseguenza di un fattore che va moltiplicato a quelli ricavati sopra La capacità delle batterie (per unità di peso) aumenta Tecnologia corrente • • • • • • • Dimensione minima: Tensione di alimentazione Frequenze di clock: Dimensioni dei chip Transistor per chip Numero di pin Consumo di potenza max 0.18um 1.3V 1GHz 2cm x 2cm 100,000,000 1,000 10-100W 4 Osservazioni 4.1 Frequenza operativa • 4.2 Costo • • 4.3 4.4 4.5 Una simile evoluzione dei mezzi di trasporto consentirebbe tra 10 anni di raggiungere gli Stati Uniti in meno di un’ora. (fattore 10) Costo per capacità di elaborazione esponenzialmente decrescente Un simile andamento del mercato delle automobili porterebbe in 10 anni il costo medio di un’auto ben al di sotto di 1000 Euro (fattore 100) Dimensioni • • Dall’ENIAC ai computer indossabili (wearable computing) e embedded Dovunque sia utile la miniaturizzazione si ricorre all’elettronica • • • • Capacità crescente esponenzialmente a parità di dimensioni Una simile evoluzione porterebbe in 10 anni le biblioteche ad aumentare di 100 volte le loro dimensioni, o a ridurre di 100 volte quelle dei libri Costo per unità di informazione decrescente esponenzialmente Una simile evoluzione porterebbe in 10 anni il costo dei libri a 0,001 Euro per pagina (fattore 100) • Una simile evoluzione porterebbe in 10 anni le auto a fare 320 Km con un litro di benzina (fattore 16) Memoria Consumo Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002 4