Professional Documents
Culture Documents
A. A. 2009-10
L’esame sarà costituito da una prova scritta di tre ore e mezza e comprenderà
2 esercizi, uno sull’architettura di sistema e uno sull’architettura dell’unità di
eleborazione, entrambi con alcune domande di teoria
• I telefonini
• I pda (personal data assistant) palmari
• gli apparati per la creazione, la distribuzione e la fruizione
di contenuti multimediali
• gli apparati fissi per telecomunicazioni
• gli strumenti di misura
• gli strumenti biomedici
• i mezzi di trasporto
• Distribuite
• Mobili
• Dipendenti dal contesto
INTERNET
Access Point o
Stazione radio Base
• Modello di riferimento:
– convergenza delle 5 C
• Computing
• Communication
• Consumer
• Content
• Context
Context-
senses aware
Has access to life Smart
Services systems
navigator environment may
provide
non
The device is the Is_a explicitely
madiator Interacts_ with requested
between the Physical assistance
users and their
environment
Space
Lives_in Structure
user (home,
Outdoor,
Media Convergence ….)
Satellite based
Mobile Phone Mobile TV Broad Band positioning system
(UMTS) (DVB-H) (WiFi) GPS
Multiradio
21 settembre 2009 Sistemi di Elaborazione LM 7
RICHIAMO da Calcolatori LA
Bus dati, bus degli indirizzi e
bus dei segnali di comando
INTERFACCE Rete
MEMORIA CPU
DI I/O
PRINCIPALE
ingressi e uscite
locali
Bus dati
Bus degli indirizzi
IL MODELLO DI RIFERIMENTO
del sistema di elaborazione
L’hardware del calcolatore si interfaccia con il software attraverso il suo set di istruzioni (linguaggio macchina)
Unità di
Memoria elaborazione Interfacce
principale PC
Rete
Registri di
Programma ALU
transito
Registri e di stato ingressi e uscite
Dati Cache
locali
Risorse interne
Bus di sistema
4 Giga byte
• Gli indirizzi si indicano solitamente in codice
0FFFF FFFFH (4 G - 1)
esadecimale
Nello
Nellospazio
spaziodidi • la dimensione di uno spazio di indirizzamento si
indirizzamento
indirizzamento può esprimere in:
vengono
vengono“mappati”
“mappati” – Kilobyte (1KB = 210 Byte = 1024 B)
i i dispositivi
dispositivifisici
fisici – Megabyte (1MB = 1K KB = 220 Byte = 1.048.576 B)
didimemoria
memoria – Gigabyte (1GB = 1K MB = 230 Byte = 1.0e+9)
• Esempi
Spazio di – l’8085 aveva uno spazio di indirizzamento di 64 KB
indirizzamento (indirizzi di 16 bit)
di 4 GB – l’8086 aveva uno uno spazio di indirizzamento di 1
MB (indirizzi di 20 bit rappresentabili con 5 cifre
Es. Intel P5/P6 esadecimali)
0000F FFFFH – il Pentium aveva uno spazio di indirizzamento di 4
GB (indirizzi di 32 bit rappresentabili con 8 cifre
esadecimali)
00000 0000H
– Pentium III e Pentium IV indirizzano 64 GB (indirizzi
di 36 bit)
8 bit
21 settembre 2009 Sistemi di Elaborazione LM 12
Astrazione dell’Input Output
Il caso dei “mobile clients”
Multi Radio
(Technology convergence)
Rete
Registri di
transito
e di stato • Memoria di massa
System Management Bus
• Interfaccia utente
• Interfaccia ambiente (sensori)
Resource & Power management
• temperatura dei componenti
• Batteria e consumi
Bus di sistema • livelli di alimentazione
• frequenze, throttling
• ….
RICHIAMO da Calcolatori LA
Accesso alle interfacce di ingresso/uscita
Spazio di indirizzamento in I/O
• Durante l’esecuzione del programma anche i dati scambiati tra CPU e interfacce di
ingresso/uscita transitano per il bus
• Così come i dispositivi di memoria, anche le interfacce di ingresso/uscita sono mappate
in uno spazio di indirizzamento
• Le interfacce di I/O possono essere mappate in uno spazio distinto da quello della
memoria oppure nello stesso; in quest’ultimo caso si dice che l’I/O è mappato in
memoria (memory mapped I/O)
• Lo spazio di indirizzamento in I/O è solitamente più piccolo dello spazio di
indirizzamento in memoria; es: nelle architetture Intel IA16 e IA32 lo spazio di
indirizzamento in I/O è di 64 KB
• Anche se i due spazi di indirizzamento sono distinti, i segnali del bus che portano
l’indirizzo sono comuni (i segnali che portano gli indirizzi di I/O sono un sottoinsieme di
quelli che portano gli indirizzi negli accessi alla memoria)
• La distinzione tra i due spazi di indirizzamento viene affidata a appositi segnali del bus
0FFFFH
Spazio di indirizzamento in I/O di 64 KB
Es. IA16 e IA32
00000H
21 settembre 2009 8 bit Sistemi di Elaborazione LM 14
Architettura multiprocessore con cache private e
memoria centralizzata condivisa
(macchine con memoria a tempo di accesso uniforme o UMA)
Questa è l’architettura oggi più comunemente adottata nei server e nelle stazioni di lavoro. La presenza delle
cache private consente di ridurre al minimo il carico di ciascun processore sulle risorse condivise
Bus di sistema
Sottosistema di I/O Controllore delle
Memoria
(inclusa la interruzioni
principale esterne
memoria di massa)
CPU core (es. 400 MHz P-II) Single CPU core (es. 400 MHz P-II) Single
Edge Edge
Cache L1 Cache L1 Cartridge Cache L1 Cache L1 Cartridge
Codice Dati Codice Dati
Es.: 16KB Es.: 16KB Es.: 16KB Es.: 16KB
Cache L2 Cache L2
Dual Independent Backside bus Dual Independent Backside bus
unificata unificata
Bus Interface 3.2 GB/sec Bus Interface 3.2 GB/sec
Es.: 1MB Es.: 1MB
Bus di sistema
Memoria Es.: P-II
Accelerated Bridge
principale 100 MHz, 64 bit
Graphic Port 533 MB/sec (Es. PCI-AGP set) 800 MB/sec (2-8 GB SDRAM) - 800 MB/sec -
Bus di I/O
Es.: un filmato non
compresso da 60 fps Interfaccia Interfacce Interfaccia Bridge verso altri bus di
su un monitor di 18” Es.: PCI
di I/O di I/O di I/O I/O (ISA, IDE, SCSI, USB,.)
(1024 X 1280 pixel 33 MHz, 32 bit
con DMAC con DMAC (slave)
di 24 bit) corrisponde - 133 MB/sec -
a 230 MB/sec
HD HD
21 settembre 2009 Sistemi di Elaborazione LM 16
La
Lafrequenza
frequenzadel
delclock
clockdella
dellaCPU
CPUeei ithroughput
throughputdei
deibus
buslocali
localialla
allaCPU
CPUsono
sonoquelli
quellidel
del1998
1998(0.25
(0.25µµm)
m)
Sintesi delle prestazioni della piattaforma
illustrata nel lucido precedente
BD[63..0]
BRIDGE
IOB[7..0]
SE LS
CE LA
RICHIAMO da Calcolatori LA
Prestazioni di un calcolatore
CPUtime
Si riduce Tck
CPUtime = Nistruzioni * CPImedio * Tck anche aumentando il
numero di stadi della
pipeline
Architettura
microprogrammata Pipeline
bloccante
CE LA SE LS
apparato
Periferiche e
calcolatore
meccanica
“Chipset” I blocchi in
rosso e arancio
non verranno
svolti
processori memorie dmac pic interfacce bus
Blocchi in
~10p ~10p ~10p verde già
studiati
Strutture logiche
21 settembre 2009 Sistemi di Elaborazione LM 25
Nel ’90, in un articolo sul futuro dei calcolatori Mark Weiser aveva
previsto questa modalità di impiego dei calcolatori e la aveva
chiamata “pervasive computing” (elaborazione pervasiva)
Design dell’elettronica :
scorcio dell’interno
(I moduli della “macchina di Von Neumann”
e alcune periferiche)
Sensori
inerziali
Bussola
Cenni Storici
Prezzo: $ 300
Prestazioni: circa 3000
somme da 32 bit al/sec
3 mm
Altri parametri
di riferimento:
$ 0.13 / transistor
Fck: 200 KHz
2300 transistor 4 mm 190 tr/mm2
10.000 10.000
Prestazioni
Processori 1000
1000
100 100
10 10
3000
2300
1
1
‘71 ‘76 ‘81 ‘86 ‘91 ‘96 ‘01
21 settembre 2009 Sistemi di Elaborazione LM 34
Parziale aggiornamento del lucido precedente
(da www.intel.com)
“Chip Multicore”
Discovering Multi-Core:
P ≈ Ntrans fcoreV2 Extending the benefits of
Moore’s Law
By Geoff Koch
fcore_max ≈ kλV
da www.intel.com
Si riduce Tck
CPUtime = Nistruzioni * CPImedio * Tck anche agendo sulla struttura
(Es.aumentando il numero di
stadi della pipeline)
Architettura
microprogrammata Pipeline
bloccante
Superficie
12 306 25
(mm2)
transistor 2300 5.5 mil 2500
Prezzo per
$ 0.13 $ 0.05/1000 2500
transistor
17.5 mm
ID
ID i4004
i4004 P6
P6
21 settembre 2009 Sistemi di Elaborazione LM 39
> 1/6
• • velocità
velocità
> 1/3 • • opportunità
opportunitàper
per
nuove
nuovearchitetture
architetture
• • costo/transistor
costo/transistor
>1 • • consumo
consumo
>2
Fonte principale: Intel ‘99, Milano, 28 ottobre 1998; ultime due colonne aggiornate nel 2003
Si riduce Tck
CPUtime = Nistruzioni * CPImedio * Tck anche agendo sulla struttura
(Es.aumentando il numero di
stadi della pipeline)
Architettura
microprogrammata Pipeline
bloccante
“Chip Multicore”
Discovering Multi-Core:
P ≈ Ntrans fcoreV2 Extending the benefits of
Moore’s Law
By Geoff Koch
fcore_max ≈ kλV
da www.intel.com
RICHIAMI DA
RICHIAMO da Calcolatori LA
Misure sulla frequenza di esecuzione
delle istruzioni al variare dell’architettura
al fine di valutare l’impatto di CPIi su CPImedio
Control transfer 24 % 15 % 28 %
14% cond branch 11% cond branch 17% cond branch
42 % 30 %
Data transfer 19 %
27% mov 22% LD e 8% ST
51 % 48 %
Alu 30 % 20% add
RICHIAMO da Calcolatori LA
• Si chiamano alee quelle situazioni in cui l’esecuzione del codice non può
proseguire a causa della mancanza di:
– Un dato (alee di dato)
– Una risorsa (registro o cella di memoria su cui memorizzare un risultato)
(alea di nome)
– L’indirizzo della prossima istruzione da eseguire (alea di controllo)
– L’istruzione da eseguire (alea strutturale)
• Le alee possono essere dovute a dipendenze nel codice oppure possono
essere dovute esclusivamente alla struttura della CPU e alle risorse
disponibili su di essa (alee strutturali)
• Se in presenza di alea la CPU non riesce a fare altro se non aspettare,
allora si dice che la CPU risolve l’alea stallando.
• Obiettivo dell’architetto è cercare soluzioni che consentano alla CPU
di non stallare in presenza di alee
RICHIAMO da Calcolatori LA
Ha senso esprimere le prestazioni in MIPS
(milioni di istruzioni al secondo), come abbiamo fatto nel grafico
dimostrativo della legge di Moore?
SPEED UP
• Lo speed up di una CPU A (più veloce) rispetto a una CPU B (più lenta)
rispetto a un determinato benchmark è definito come il rapporto tra il
tempo di esecuzione del benchmark da parte della CPU più lenta e tempo
di esecuzione dello stesso benchmark da parte della CPU più veloce
• dunque:
SUA/B = CPUtime (B)/ CPUtime (A)
• Ad esempio se per eseguire un determinato benchmark la CPU A impiega
20 msec e la CPU B impiega 25 msec, allora si ha che:
SUA/B = CPUtime (B)/ CPUtime (A) = 25/20 = 1.25
• si dice anche che rispetto al benchmark assegnato la CPU A è più veloce
della CPU B del 25%; per fare questa affermazione è stata applicata la
seguente formula:
SUA/B % = (CPUtime (B)/ CPUtime (A) - 1) *100= (25/20 - 1)*100 = 25 %
CE LA CE LS
• Sistemi multimaster
• Gerarchia delle memorie
• Architetture UMA
sistema multiprocessore
a memoria condivisa
MEM CPU 1 CPU 2 I/O
Bus multimaster
• Esistono interfacce in grado di generare cicli di bus di accesso alla memoria
• Queste interfacce vengono attivate dalla CPU, dopodichè gestiscono da sole lo scambio di
informazioni tra la memoria e il mondo esterno, senza richiedere ulteriori interventi alla
CPU
• La funzione di accesso autonomo alla memoria si chiama DMA (Direct Memory Access)
• Un sistema con una CPU e un’interfaccia con DMA è ancora un sistema multimaster
• Esistono anche moduli il cui unico ruolo è quello di gestire il trasferimento dati tra agenti
slave (es. memoria e interfacce slave); questi moduli si chiamano DMA Controller
(DMAC)
• I DMAC e le interfacce con DMA sono in generale agenti master/slave (ma possono
anche essere solo master)
Bus multimaster
Risposta: la memoria del calcolatore deve essere organizzata su più livelli: memoria
cache piccola e veloce, memoria centrale interconnessa al bus esterno della CPU e
mappata nello spazio di indirizzamento in memoria, e memoria virtuale residente su un
supporto di memorizzazione esterno indirizzabile come una periferica
Obiettivi: Soluzione:
Architettura del 1) Protezione Segmentazione
sistema di 2) Estensione
memoria 3) Velocità Gerarchia
4) Costo
Ordini di grandezza nel 1998
oggi i valori delle ultime due colonne
si sono molto ridotti
Gerarchia
Dimensione Velocità (latenza) Costo