Parte 1 Introduzione - Istituto di Scienze e Tecnologie dell

annuncio pubblicitario
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
Scarica