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