Parte 1 Introduzione - Istituto di Scienze e Tecnologie dell

Informatica Applicata – Progettazione dei sistemi di elaborazione
3DUWH
,QWURGX]LRQH
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
© Alessandro Bogliolo
1
Informatica Applicata – Progettazione dei sistemi di elaborazione
© Alessandro Bogliolo
3UHPHVVD
7HQGHQ]HWHFQRORJLFKH
•
•
•
•
Circuiti integrati digitali:
• Legge di Moore: il numero di dispositivi integrabili su un singolo chip cresce del 55% all’anno
• La dimensione lineare minima dei dispositivi elettronici diminuisce del 13% all’anno
• Le prestazioni dei dispositivi elettronici aumentano del 13% all’anno
• Le prestazioni complessive dei circuiti integrati aumentano meno del 13% all’anno per colpa del
ritardo delle interconnessioni
• La frequenza operativa dei circuiti integrati raddoppia ogni tre anni
• Il consumo di potenza dei chip aumenta
• Il numero di pin aumenta del 12% all’anno
• Tecnologia attuale: 0.13µm, 100,000,000 di dispositivi per chip, frequenza operativa superiore al
GHz, consumo di potenza dell’ordine di 10-100W, 1,000 pin
Memorie DRAM:
• La densità delle celle di memoria cresce di circa il 50% all’anno
• Il tempo di accesso diminuisce molto lentamente
• Il throughput e la bandwidth aumentano più in fretta dell’inverso della latenza
• Tecnologia attuale:
Batterie
• La capacità delle batterie per unità di peso aumenta
Dischi magnetici
• La densità dei dischi magnetici cresce del 100% all’anno
• Il tempo di accesso diminuisce di un terzo ogni 10 anni
7HQGHQ]HHDVSHWWDWLYHGLPHUFDWR
•
•
•
•
•
•
•
•
Riduzione dei costi
• Esempio: DRAM [HP fig. 1.5]
• Esempio: Intel [HP fig. 1.6]
Riduzione di dimensioni
Aumento delle prestazioni
• Le prestazioni dei sistemi a microprocessore aumentano del 58% all’anno (di cui solo il 35% è
dovuto a fattori tecnologici) [HP fig. 1.1]
Aumento delle funzionalità
Aumento della disponibilità
Aumento dell’affidabilità
Rapida obsolescenza
• Esempio: DRAM [HP fig. 1.5]
Aumento della pervasività (embedded applications)
3URJHWWR
•
•
Il compito del progetto è quello di sfruttare la tecnologia per soddisfare le esigenze di mercato
Il divario tra le prestazioni dei circuiti integrati e le prestazioni dei sistemi a microprocessore aumenta
del 23% all’anno ed è attualmente quantificabile in un fattore 15 [HP fig. 1.1]
3DUDPHWULGLSURJHWWR
3DUDPHWULGLPHUFDWR
'LPHQVLRQHGHOPHUFDWRXQLWjYHQGXWHDOJLRUQRQ
• Fortemente variabile nel tempo e diverso da 0 per un periodo di tempo limitato
• L’andamento tipico è caratterizzato da un tratto ascendente, da un tratto constante e da un tratto
iscendente.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
2
Informatica Applicata – Progettazione dei sistemi di elaborazione
© Alessandro Bogliolo
3UH]]RDOFRQVXPDWRUH86'ROODU
• Dipende dalla dimensione del mercato, dal tempo di obsolescenza del prodotto, dagli investimenti
sopportati, dal costo di produzione, dalla concorrenza
• Decresce velocemente durante il ciclo di vita di un prodotto [HP figg. 1.5, 1.6]
• Composizione del prezzo di mercato [HP fig. 1.7]
7LPHWRPDUNHW0HVLP
• Ritardo nell’immissione sul mercato
• Somma di: tempo di progetto, tempo di verifica, tempo di produzione, tempo di collaudo
• Se superiore a quello di prodotti concorrenti causa sia un mancato guadagno immediato che una
riduzione dei profitti durante tutta la vita del prodotto
• Un’azienda che immetta sul mercato un prodotto il cui mercato ha già superato la fase ascendente non
ha possibilità di conquistare fette di mercato rilevanti
7LPHIRUUHYHQXH0HVLP
• Periodo di permanenza sul mercato
• Limitato dalla crescita congiunta delle aspettative di mercato e delle potenzialità tecnologiche
• Quanto più è lungo tanto più permette di ammortizzare nel tempo gli investimenti iniziali
5HVDGLSURFHVVR
• Percentuale di prodotti che superano il collaudo e raggiungono il mercato
• Limitata dalla complessità dei sistemi e dei processi
• Aumenta il costo di produzione e il prezzo unitario
• La stima della resa può essere falsata da un collaudo inefficace
3DUDPHWULWHFQLFL
3UHVWD]LRQL)UHTXHQ]D+]7KURXJKSXW0,360236/DWHQ]DQV&3,
• Dipendono dal tempo di elaborazione di ogni componente, dal numero di componenti in cascata, dal
ritardo di propagazione dei segnali lungo le linee di interconnessione e dall’architettura del sistema
• Benchmarks
&RQVXPRGLSRWHQ]D:
• Dipende dalla tecnologia, dalla complessità del sistema, dalla frequenza operativa, dalla tensione di
alimentazione, dalle capacità interne e dall’attività media
• Causa problemi di disponibilità (durata delle batterie dei sistemi portatili), di packaging
(raffreddamento) e di affidabilità (temperatura operativa)
&RQVXPRGLHQHUJLD-
• Rispetto al consumo di potenza, non dipende dalla frequenza operativa
• Riduce la disponibilità in termini di capacità di elaborazione piuttosto che in termini di tempo di
elaborazione
$IILGDELOLWj5W
• Probabilità, stimata al tempo 0, che il sistema continui a funzionare correttamente fino al tempo t dato
che funziona correttamente al tempo 0
• Funzione decrescente del tempo indicata con 5(W)
• Nota la probabilità 3 che il sistema si guasti in un’unità di tempo, 5(W)=(1-3) nell’ipotesi di noninvecchiamento
• 3 aumenta (e l'
affidabilità diminuisce) all'
aumentare della complessità del sistema
• È difficile raccogliere dati statisticamente significativi per la caratterizzazione diretta di 3
• Nota la probabilità di guasto nell'
unità di tempo di ogni componente del sistema (S ), quella del sistema
si ricava analiticamente ipotizzando che ogni componente sia indispensabile al corretto funzionamento
3 = 1 − ∏ =1 (1 − S )
dove 1 è il numero di componenti. Nell'
ipotesi semplificativa in cui tutti i componenti abbiano la stessa
probabilità di guasto S, la probabilità di guasto del sistema risulta:
3 = 1 − (1 − S )
da cui è evidente che la probabilità di guasto del sistema dipende dal numero di componenti.
Generalmente, tanto più elementari e diffusi sono i componenti tanto più semplice è raccogliere
statistiche significative sulla loro probabilità di guasto nell’unità di tempo.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
3
Informatica Applicata – Progettazione dei sistemi di elaborazione
© Alessandro Bogliolo
'LPHQVLRQLPP PP .J
• Le dimensioni dei chip non sono direttamente un problema, poiché generalmente trascurabili rispetto a
quelle di altri componenti dei sistemi elettronici, quali i dispositivi di input output (monitor, display,
tastiera) le cui dimensioni sono dettate da esigenze di fruibilità
• Indirettamente, i requisiti di portabilità (dimensioni e peso ridotti) impongono di limitare le dimensioni
delle batterie (non trascurabili) e quindi dettano specifiche di consumo di potenza ai componenti
elettronici
'LVSRQLELOLWjRUHKJLRUQLJWHPSR
• Durata delle batterie dei sistemi portatili (h,g)
• Influenzata dal consumo di potenza
• Quantità di elaborazione supportata da una sola carica della batteria (milioni di istruzioni)
• Influenzata dal consumo di energia
• Percentuale di tempo di funzionamento (%)
• Influenzata dalla probabilità di rottura e dal tempo medio di riparazione
6SD]LRGLSURJHWWR
•
•
•
•
•
•
•
•
Spazio N-dimensionale i cui assi rappresentano i parametri del progetto
Ogni soluzione è associata ad un punto nello spazio di progetto
La presenza di parametri conflittuali e l'
intervallo limitato di definizione dei parametri individuano zone
di fattibilità (punti che rappresentano soluzioni possibili) e zone di infattibilità (i cui punti rappresentano
soluzioni impossibili)
Ogni coppia di parametri individua un piano su cui si può proiettare lo spazio di progetto
La curva che sul piano separa la zona di fattibilità da quella di infattibilità è detta Curva di Pareto, luogo
dei punti che rappresentano i migliori compromessi tra i due parametri (non ci si puo’ allontanare dalla
curva di Pareto entrando nella zona di fattibilità senza peggiorare almeno uno dei parametri).
Il progetto in uno spazio a 2 parametri può essere affrontato in 3 modi diversi:
• come ottimizzazione simultanea di entrambi i parametri. In tal caso occorre dare un peso ai due
parametri per avere un criterio per decidere a favore dell’uno o dell’altro in situazioni conflittuali. In
tal caso si definisce una funzione obiettivo come combinazione lineare (o somma pesata) dei
parametri di interesse f=c0x+c1y e si minimizza (o massimizza) f
• come ottimizzazione di x condizionata al rispetto di un vincolo su y
• come ottimizzazione di y condizionata al rispetto di un vincolo su x
In genere i problemi di ottimizzazione incondizionata sono più semplici da risolvere, ma la scelta dei
pesi nella definizione della funzione obiettivo è arbitraria
Su un piano x-y, il procedimento di soluzione di un problema di ottimizzazione del parametro y
condizionato al valore del parametro x=x0 è rappresentato da un segmento che, partendo da un punto
dello spazio di fattibilità (y,x0), raggiunge la curva di Pareto nel punto (x0,y0), oltre il quale non riesce a
spingersi
La soluzione di problemi di ottimizzazione condizionata per diversi valori della condizione x0 individua
per punti la curva di Pareto
6LVWHPLGLHODERUD]LRQH
(OHPHQWLIRQGDPHQWDOLGLXQVLVWHPDGLHODERUD]LRQH
•
•
•
Elaborazione
• Trasformazione di informazione
Memoria
• Conservazione di informazione nel tempo
Comunicazione
• Trasferimento di informazione nello spazio
5LXVRGLFRPSRQHQWLJHQHUDOSXUSRVHHSURJHWWRGLFRPSRQHQWLDGKRF
•
•
Uso di componenti general-purpose programmabili
• Ridotto time-to-market
• Limitati gradi di libertà a disposizione del progettista
• Soluzioni sub-ottime
Soluzioni full-custom / application-specific
• Completa disponibilità dei gradi di libertà
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
4
Informatica Applicata – Progettazione dei sistemi di elaborazione
•
•
© Alessandro Bogliolo
Aumento dei costi e del tempo di progetto e produzione
Soluzioni potenzialmente ottime
6LVWHPLDPLFURSURFHVVRUH
•
•
•
•
•
Hardware
Software
Sistemi di calcolo general purpose
• calcolatori elettronici progettati per
• progettati per offrire buone prestazioni medie su ampie categorie di software
Sistemi di calcolo special-purpose
• Domain-specific (esempio:igital signal processors, DSP)
• Application-specific (ASIP)
• progettati per offrire buone prestazioni su una particolare categoria di software, sacrificando le
prestazioni offerte in applicazioni diverse
Sistemi embedded
• Microprocessori inseriti in apparati complessi dedicati ad applicazioni specifiche in cui la presenza
di microprocessori non è apparente (telefoni cellulari, elettrodomestici, automobili, ...)
• dedicati all’esecuzione continua di pochi segmenti di codice
$UFKLWHWWXUHYLUWXDOL
•
•
•
•
Un’architettura virtuale è simulata da strumenti software (detti macchine virtuali, YLUWXDOPDFKLQH, 90)
che girano su architetture reali (generalmente comuni PC).
Un esempio di architettura virtuale è quella realizzata dalle -DYD9LUWXDO0DFKLQH, JVM.
Il software compilato per la JVM (bytecode) è portabile, nel senso che puo’ essere eseguito da tutte le
macchine sulle quali può essere installata ed eseguita la JVM.
Del resto la virtual machine introduce un overhead in termini di prestazioni, poichè il bytecode, benchè
compilato, è di fatto interpretato dalla VM.
6WLPDGLSDUDPHWUL
6SHFLILFKHHTXDOLWjGHOVHUYL]LR
•
•
•
•
•
•
Specifiche o requisiti (FRQVWUDLQWV UHTXLUHPHQWV): limiti imposti ad uno o più parametri di progetto
I limiti sono detti KDUG se non ammettono violazioni, VRIW se ammettono violazioni
Alcuni parametri (tra cui consumo di potenza, prestazioni, disponibilità) sono fortemente dipendenti
dalle condizioni operative e quindi trattabili solo come variabili aleatorie in fase di progetto
I requisiti imposti alle prestazioni di un sistema a microprocessore possono riguardare:
• il tempo medio di esecuzione di un task
• il tempo massimo di esecuzione di un task
• il tempo di esecuzione di un task specifico in condizioni specifiche
I requisiti che riguardano il tempo massimo di esecuzione di un task sono detti UHDOWLPHFRQVWUDLQWV
poichè sono quelli tipicamente imposti da applicazioni che producono risultati la cui fruizione avviene in
tempo reale (ad esempio la decodifica di immagini televisive)
La qualità del servizio offerto da un sistema di calcolo in una data applicazione puo’ essere valutata
come probabilità di violazione dei requisiti imposti a quella applicazione (ad esempio probabilità di
decodificare in ritardo un frame di un video)
%HQFKPDUNLQJ
•
•
Poichè molti dei parametri di un sistema a microprocessore (in partiolare le prestazioni) dipendono
fortemente dall’uso che ne viene fatto, si pone il problema di standardizzare le condizioni in cui tali
parametri sono valutati, al fine di rendere la misura riproducibile e di rendere confrontabili diverse
architetture. Le condizioni di lavoro di un sistema vengono indicate con il termine inglese ZRUNORDG.
Tipicamente, il workload di un sistema a microprocessore è rappresentato dal software applicativo e
dai dati su cui esso opera, mentre il software di sistema è visto come parte del sistema da
caratterizzare. Si chiama EHQFKPDUN un workload riproducibile e ben documentato.
Esistono diversi tipi di benchmark, concepiti per valutare parametri di natura diversa o per essere
applicati a sistemi diversi. In particolare distinguiamo tre categorie di benchmark:
• applicazioni reali
• benchmark sintetici rappresentativi di situazioni tipiche
• microbenchmark concepiti per caratterizzare aspetti molto specifici
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
5
Informatica Applicata – Progettazione dei sistemi di elaborazione
•
•
•
© Alessandro Bogliolo
In molti casi i benchamrk sono raggruppati in insiemi (suite) di benchmark tutti necessari a fornire una
caratterizzazione completa di sistemi general purpose
L’uso di numerosi benchmark per la valutazione e il confronto di prestazioni di sistemi general purpose
pone il problema di combinare i risultati relativi ai singoli benchmark per ottenerne una sola figura di
merito.
• Media aritmetica dei tempi di esecuzione: ha il difetto di pesare maggiormente il confronto tra i
benchmark con tempi di esecuzione più lunghi
• Media pesata dei tempi di esecuzione: il tempo di esecuzione di ciascun benchmark contribuisce
alla media con un peso calcolato sulla base di previsioni sulla composizione del workload del
sistema reale che si vuol valutare
• Media geometrica dei tempi di esecuzione relativi: ogni tempo di esecuzione è diviso per il tempo
di esecuzione dello stesso benchmark su un’architettura di riferimento (Sun Ultra5_10 Sparc
300MHz con 256Mb di RAM). La media geometrica è calcolata come radice N-essima del prodotto
degli N tempi di esecuzione relativi. Il vantaggio della media geometrica è che la media geometrica
del rapporto è uguale al rapporto delle medie geometriche.
Nel caso di microprocessori embedded dedicati ad applicazioni specifiche, la valutazione delle
prestazioni puo’ essere effettuata direttamente utilizzando l’applicazione target.
6LPXOD]LRQH(PXOD]LRQH3URWRW\SLQJ
•
•
•
•
Se non si dispone del sistema reale (ad esempio perchè è in fase di progetto o perchè se ne vuole
valutare l’acquisto) è possibile valutarne le prestazioni eseguendo i benchmark su sistemi diversi che
emulino il comportamento del sistema di interesse
Simulatore: strumento software eseguibile da un calcolatore elettronico general purpose che simula il
comportamento (funzionale e/o parametrico) di un sistema diverso. Per i sistemi a microprocessore
distinguiamo due generi di simulatori:
o Simulatori a livello di istruzione (ISS, ,QVWUXFWLRQVHWVLPXODWRUV), che simulano l’esecuzione
dell’instruction set dell’architettura target, ma non tengono conto dei dettagli microarchitetturali.
Cioè lo stato del simulatore coincide con quello del sistema simulato al termine dell’esecuzione
di ogni istruzione.
o Simulatori F\FOHDFFXUDWH che simulano il comportamento dell’architettura target ciclo di clock
per ciclo di clock. Cioe’ lo stato del simulatore coincide con quello del sistema simulato al limite
di ciascun ciclo di clock.
Emulatore: piattaforma hardware/software riconfigurabile in grado di emulare il comportamento di
diversi sistemi a microprocessore
Prototipo: realizzazione preliminare del sistema target
3URILOLQJHG,QVWUXPHQWDWLRQ
•
•
In molti casi, eseguendo un segmento di codice ha interesse non solo conoscere il tempo totale di
esecuzione, ma anche informazioni di natura statistica sull’uso delle risorse, sulla composizione delle
istruzioni, ecc. L’insieme di queste informazioni viene detto SURILOR, e il processo necessario a
collezionarle SURILOLQJ
Mentre il tempo totale di esecuzione è in genere direttamente misurabile, l’estrazione di profili richiede
la modifica del software o della piattaforma che lo esegue. La modifica del software o dell’harware al
fine di collezionare profili d’esecuzione viene detta LQVWUXPHQWDWLRQ.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
6
Informatica Applicata – Progettazione dei sistemi di elaborazione
© Alessandro Bogliolo
Fig. 1.1
Fig. 1.5
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
7
Informatica Applicata – Progettazione dei sistemi di elaborazione
© Alessandro Bogliolo
Fig. 1.6
Fig. 1.7
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
8