1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-28 21:04:19 +00:00
appunti-steffo/2 - Architettura dei calcolatori/1 - Appunti/01 - Principi.md

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
  • 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
  • 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

Senza

Con

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.

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: