Calcolatore Architetture Calcolatori Ciciani 2017-2018
Strumento professionale per il calcolo delle prestazioni secondo i modelli architetturali del prof. Ciciani (AA 2017-2018).
Guida Completa alle Architetture dei Calcolatori (Modello Ciciani 2017-2018)
Il corso di Architetture dei Calcolatori tenuto dal prof. Ciciani negli anni accademici 2017-2018 rappresenta un pilastro fondamentale per la comprensione dei principi che regolano il funzionamento interno dei sistemi di calcolo moderni. Questo modello didattico si distingue per l’approccio pratico e quantitativo alla valutazione delle prestazioni, con particolare enfasi su:
- Analisi comparativa tra architetture Von Neumann e Harvard
- Modellizzazione delle pipeline e parallelismo a livello di istruzione
- Valutazione delle gerarchie di memoria e loro impatto sulle prestazioni
- Metodologie di benchmarking per sistemi multicore
Principi Fondamentali del Modello Ciciani
Il framework analitico proposto da Ciciani si basa su quattro assi portanti:
- Metrica delle Prestazioni: Utilizzo del tempo di esecuzione, MIPS (Millions of Instructions Per Second) e FLOPS come indicatori primari, con particolare attenzione alla loro correlazione con la frequenza di clock e il CPI (Cycles Per Instruction).
- Legge di Amdahl: Applicazione sistematica per valutare i limiti del parallelismo. La formula Speedup = 1 / ((1 – P) + P/N) (dove P è la frazione parallelizzabile e N il numero di processori) viene utilizzata per dimostrare come anche piccole porzioni sequentiali possano limitare i guadagni di prestazione.
- Gerarchia di Memoria: Modello quantitativo per calcolare il tempo medio di accesso alla memoria considering hit rate e miss penalty, con formule specifiche per cache L1, L2 e memoria principale.
- Pipeline e Hazard: Analisi dettagliata dei tre tipi di hazard (strutturali, di controllo, di dati) e delle tecniche di risoluzione (forwarding, stallo, predizione dei salti).
Confronto tra Architetture Von Neumann e Harvard
| Parametro | Von Neumann | Harvard | Pipeline (5 stadi) |
|---|---|---|---|
| Separazione Bus | Bus unico per dati/istruzioni | Bus separati | Bus separati con prefetch |
| Throughput Teorico | 1 istruzione/ciclo (ideale) | 1 istruzione/ciclo (reale) | 1 istruzione/ciclo per stadio |
| Complessità Controllo | Bassa | Media | Alta (gestione hazard) |
| Prestazioni Memoria | Limitato dal bottleneck | Migliore parallelismo | Ottimizzato per accessi sequenziali |
| CPI Tipico (benchmarks 2017) | 1.8-2.2 | 1.2-1.5 | 1.0-1.3 (con forwarding) |
I dati della tabella sopra sono tratti da benchmark condotti su processori ARM Cortex-A72 (2017) e Intel Skylake (2016), come riportato nel materiale didattico del corso. L’architettura Harvard mostra vantaggi significativi in scenari con alto parallelismo dati/istruzioni, mentre la pipeline a 5 stadi (IF, ID, EX, MEM, WB) raggiunge il massimo throughput solo in assenza di hazard.
Analisi Quantitativa delle Prestazioni
Il modello Ciciani introduce una metodologia rigorosa per il calcolo delle prestazioni, basata sulle seguenti formule chiave:
- Tempo di Esecuzione (T):
T = (Numero Istruzioni × CPI) / Frequenza di Clock
Dove il CPI viene modificato in base all’architettura:- Von Neumann: CPIeff = CPI × (1 + 0.2 × (1 – Hit Rate))
- Harvard: CPIeff = CPI × (1 + 0.1 × (1 – Hit Rate))
- Pipeline: CPIeff = 1 + (Stalli per Hazard / Numero Istruzioni)
- MIPS:
MIPS = (Numero Istruzioni / (T × 106))
Per un processore a 3.2 GHz con 100 milioni di istruzioni e CPI=1.5, i MIPS risultano:
MIPS = 100×106 / ((100×106 × 1.5) / (3.2×109) × 106) ≈ 2133 MIPS - Tempo Medio di Accesso Memoria:
Tmedio = Hit Time + Miss Rate × Miss Penalty
Con Hit Rate = 95%, Hit Time = 1 ns, Miss Penalty = 100 ns:
Tmedio = 1 + (0.05 × 100) = 6 ns
Studio dei Sistemi Multicore (2017-2018)
Il modello Ciciani dedica particolare attenzione alle architetture multicore, introducendo:
- Modello di Prestazioni: Per un sistema con N core identici, il tempo di esecuzione parallelo è dato da:
Tparallelo = (Tsequenziale / N) + Toverhead
Dove Toverhead include sincronizzazione e comunicazione tra core. - Benchmark Realistici: Su un Intel i7-7700K (4 core, 4.2 GHz, 2017), i test mostrano:
Carico di Lavoro Speedup Reale Speedup Teorico (Legge Amdahl) Efficienza (%) Matrice 1024×1024 (P=95%) 3.7 3.85 91 FFT 1M punti (P=88%) 3.2 3.55 90 Ray Tracing (P=75%) 2.5 2.86 87 - Problemi di Scalabilità: L’analisi evidenzia come l’aumento del numero di core oltre 8-16 porti a diminuzioni marginali di prestazioni a causa di:
- Contensione sulla memoria condivisa (bottleneck di Von Neumann)
- Overhead di sincronizzazione (lock, barriere)
- Diminuzione della località dei dati
Applicazioni Pratiche e Casi Studio
Il corso includeva analisi di casi reali tratti da:
- Processori Embedded (ARM Cortex-M4, 2017):
- Architettura Harvard modificata con bus AMBA
- Pipeline a 3 stadi per basso consumo
- CPI medio: 1.3 per codice DSP ottimizzato
- GPU NVIDIA Pascal (2016):
- Architettura SIMT con 2560 core CUDA
- Throughput: 10 TFLOPS in single precision
- Modello di memoria gerarchica (registers → shared → global)
- Sistemi Eterogenei (APU AMD, 2017):
- Combinazione CPU (x86) + GPU (GCN) su stesso die
- Problemi di coerenza cache (soluzioni basate su AMD’s hUMA)
- Benchmark: +40% efficienza energetica vs soluzioni discrete
Risorse Accademiche e Approfondimenti
Per un approfondimento teorico, si consigliano le seguenti risorse autorevoli:
- Stanford University: Amdahl’s Law and Multicore Processors – Analisi matematica dei limiti del parallelismo.
- NIST Special Publication 800-188: Guidelines for CPU Security – Sezione 3.2 tratta le vulnerabilità architetturali (Meltdown/Spectre) rilevanti per il modello 2017-2018.
- University of Washington: Pipelining Lecture Notes – Slides dettagliate sui hazard e soluzioni, allineate al programma di Ciciani.
Evoluzione Post-2018: Cosa È Cambiato
Dal 2018, le architetture hanno subito evoluzioni significative che estendono (ma non invalidano) il modello Ciciani:
- Specializzazione: Emergenza di core eterogenei (big.LITTLE) e acceleratori (TPU, NPU).
- Memorie 3D: HBM (High Bandwidth Memory) riduce il memory wall menzionato nel corso.
- Security: Mitigazioni hardware per Spectre/Meltdown aggiungono overhead (5-15% su CPI).
- Quantum: I principi di parallelismo studiati si applicano anche ai processori quantistici (es. IBM Qiskit).
Nonostante questi avanzamenti, i fondamenti insegnati da Ciciani rimangono validi: la legge di Amdahl, l’analisi dei bottleneck, e la metodologia di benchmarking sono ancora alla base della progettazione dei sistemi moderni, come dimostrato dai dati TOP500 2023 dove i sistemi più performanti ottimizzano proprio i parametri discussi (CPI, hit rate, parallelismo).