mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-28 21:04:19 +00:00
2 KiB
2 KiB
I principi dell'architettura dei calcolatori
Gli otto grandi principi
- Progetta per la Legge di Moore
- Astrai per semplificare il design
- Velocizza i casi più comuni
- Sfrutta il parallelismo
- Instruction level parallelism
- In una sola CPU vengono realizzati più calcoli in parallelo
- Instruction level parallelism
- Sfrutta le pipeline
- Pipelining
- Separare le azioni del processore in fasi
- Il fetch è separato dal decoding, mentre decodifico un'istruzione posso già fetchare quell'altra
- Pipelining
- Prevedi le istruzioni successive
- Gerarchizza le memorie per velocità di accesso
- La CPU cerca sempre di accedere alle memorie più veloci
- Rendi affidabile con la ridondanza
Parallelismo
Chiedo a 100 persone di fare una moltiplicazione ciascuna invece che fare 100 moltiplicazioni io da solo
Pipelining
Gerarchia delle memorie
Hit or miss? I hope they never miss.
La CPU prova sempre ad accedere alle memorie più in alto di questa lista, effettuando un hit se trova i dati che le servono in una data memoria ed effettuando un miss se invece non trova i dati necessari e deve accedere a uno strato inferiore.
- Cache (piccolissima e velocissima)
- Random Access Memory (piccola e veloce)
- Solid State Drive (medio e di media velocità)
- Hard Disk Drive (grosso, ma lento)
- Tape storage (enorme, ma lentissimo)
I miss rallentano l'esecuzione dei programmi, in quanto causano ritardi nel ritrovamento dei dati, passando da meno di 1 µs per le cache a più di 1 ms per gli hard disk.
Inoltre, esistono due tipi di cache, anch'essi gerarchizzati: