gerarchia memorie, coprocessori, bus

Transcript

gerarchia memorie, coprocessori, bus
Architettura del calcolatore:
gerarchia delle memorie,
coprocessori, bus (cenni)
Ingegneria Meccanica e dei Materiali
Università degli Studi di Brescia
Prof. Massimiliano Giacomin
Migliorare le prestazioni della memoria
•  Idealmente:
- grande capacità
- alta velocità
- costo ridotto
•  Realmente:
- più velocità e capacità: maggiore il costo per bit
- maggiore velocità richiede piccole dimensioni
(addirittura, nello stesso circuito integrato CPU)
•  Obiettivo: coniungare la presenza di una memoria piccola e veloce con
altri dispositivi grandi e lenti, mantenendo i costi contenuti
•  COME? Si sfrutta il principio di località
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
2
Principio di località
•  Località spaziale: quando un programma fa riferimento
a un elemento in memoria (istruzione o dato), è molto
probabile che faccia riferimento entro breve tempo ad
altri elementi il cui indirizzo è vicino a quello
dell’elemento riferito
•  Località temporale: quando un programma fa
riferimento a un elemento in memoria (istruzione o dato),
è molto probabile che faccia riferimento allo stesso
elemento entro breve tempo
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
3
MEMORIA CACHE
•  Memoria piccola e veloce (memoria elettronica di tipo
statico)
•  Contiene un sottoinsieme delle informazioni presenti in
memoria centrale (memoria elettronica di tipo dinamico)
•  E’ organizzata in blocchi
•  I blocchi vengono trasferiti tra memoria centrale e cache
come unità indivisibili
•  Quando la CPU emette un indirizzo di parola, il blocco
che contiene la parola viene prima cercato nella cache,
se è presente si accede alla parola all’interno del blocco,
altrimenti si accede alla memoria principale e si trasporta
il blocco in cache (eventualmente eliminandone uno
dalla cache)
•  Si usano tipicamente due livelli di cache: cache interna
(primo livello) e cache esterna (secondo livello)
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
4
ESEMPIO: cache completamente associativa
Memoria centrale
Cache
0
1
2
3
4 blocchi di 4
parole ciascuno
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
blocco di 4 parole
…
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
5
La gerarchia di memoria
Registri
CPU
Cache L1
Aumenta la
velocità di
accesso
Cache L2
Memoria centrale
Aumenta la
capacità
Memoria di massa in linea
Memoria di massa fuori linea
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
6
Caratteristiche dei livelli di gerarchia di memoria
Livello
Dimensioni indicative
Tempo di accesso
Registri
Cache I livello
Cache II livello
Cache III livello
Memoria centrale
Dischi
Nastri
~ 1 Kbyte
~ 32 Kbyte
~ 2 Mbyte
~ 8 Mbyte
~ 8 Gbyte
> 300 Gbyte
> 10 Gbyte
~ 0.2 ns
~ 0.4 ns
< 2 ns
< 5 ns
< 50 ns
< 10 ms
~100 ms
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
7
QUALI VANTAGGI?
•  L’utente (il programmatore) dispone di una
quantità di memoria paragonabile a quella
disponibile nella tecnologia più economica
(memoria di massa – costituita da memorie
magnetiche e ottiche)
•  Allo stesso tempo la velocità di accesso è
paragonabile a quella garantita dalla tecnologia
più veloce (registri, cache - memorie
elettroniche)
•  Costi totali ridotti, prestazioni elevate
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
8
Migliorare le capacità di
elaborazione
•  Unità centrale unico dispositivo attivo comporta:
- potenziale “collo di bottiglia”
- mancato sfruttamento di specificità
Uso diversi “processori dedicati”, controllati dall’unità
centrale (utilizzo di interrupt)
•  coprocessore grafico nella scheda grafica
•  coprocessore audio nella scheda audio
•  DMA più evoluti (es. conversione formato, ecc.)
Sistemi multiprocessore
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
9
Migliorare l’efficienza del bus
•  Unico bus e unico segnale di clock per tutto il sistema comporta:
- bus è un “collo di bottiglia”
- unità veloci devono adeguarsi alla velocità di quelli lenti
unità centrale
bus anteriore
bus AGP
bus PCI Express
ponte nord
memoria cache
bus di memoria
memoria centrale
Più bus e diverse
velocità…
bus IDE
ponte sud
bus ISA
slot ISA
bus USB
bus FireWire
bus PCI
slot PCI
Super I/O
tastiera
bus SCSI
mouse
porta parallela
BIOS
slot SCSI
porta seriale
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
10