Computer Abstraction and Technology Flashcards
Da cosa dipendono le prestazioni di un computer?
Hardware: La velocità del processore, la capacità della memoria, e l’efficienza della cache.
Software: L’ottimizzazione del codice, gli algoritmi implementati e il linguaggio di programmazione utilizzato.
Architettura: L’efficienza del design del sistema, come il parallelismo e il set di istruzioni.
Carichi di lavoro: La natura dei compiti eseguiti dal sistema.
Le “8 grandi idee” delle moderne architetture di computer
Design in base alla legge di Moore
Astrazione
Rendere i casi comuni veloci
Miglioramento delle prestazioni tramite parallelismo
Miglioramento delle prestazioni tramite pipeline
Miglioramento tramite predizione
Memoria gerarchica
Affidabilità attraverso la ridondanza
I 5 componenti di un computer
Processore (CPU): Esegue le istruzioni, gestendo calcoli e controllo.
Memoria: Conserva dati e istruzioni in uso (es. RAM, cache).
Dispositivi di Input: Consentono l’inserimento di dati (es. tastiera, mouse).
Dispositivi di Output: Visualizzano i risultati (es. monitor, stampante).
Dispositivi di archiviazione: Memorizzano dati a lungo termine (es. SSD, HDD).
Differenza tra memoria primaria e secondaria
Memoria primaria: È volatile e veloce, utilizzata per accedere rapidamente ai dati attivi (es. RAM, cache).
Memoria secondaria: È non volatile e più lenta, usata per lo storage permanente (es. HDD, SSD).
Relazione tra costi di un chip e la sua area
I costi di un chip aumentano in modo esponenziale con la sua area.
Un’area maggiore:
Diminuisce il numero di chip per wafer.
Aumenta la probabilità di difetti, riducendo la resa.
Tempo di esecuzione (Response Time) e tempo di esecuzione della CPU
Response time: Tempo totale dall’inizio alla fine di un’operazione, includendo input/output e attese.
CPU execution time: Tempo effettivo che la CPU spende eseguendo le istruzioni di un programma.
Equazione delle prestazioni della CPU
CPUTime=Ciclo Per Istruzione×tempo di ciclo del clock× Numero Istruzioni
Algoritmo: Influisce sull’Numero Istruzioni
Linguaggio di programmazione: Può influenzare l’efficienza delle istruzioni generate.
Architettura del set di istruzioni: Influisce su Ciclo Per Istruzione
“Power Wall” e il suo impatto
Power Wall: Limite fisico dovuto all’aumento di potenza e calore prodotti dai processori più veloci.
Impatto: Ha portato l’industria a spostarsi verso design multi-core e architetture più efficienti dal punto di vista energetico.
Legge di Amdahl
La legge di Amdahl descrive il limite massimo di miglioramento delle prestazioni di un sistema con l’uso del parallelismo:
Speedup=1/(1−𝑃)+(𝑃/𝑁)
Dove:
P: Porzione parallelizzabile del programma.
N: Numero di processori.
Indica che i miglioramenti sono limitati dalla porzione seriale del programma.