venerdì 27 aprile 2007

Le 2 Categorie delle CPU

le CPU si distinguono in:

- basate su stack: i registri sono organizzati in una struttura a stack e tutte le istruzioni
operano esclusivamente su questo stack (ad esempio il Transputer); questa architettura ha il
vantaggio di non dover specificare su quale registro interno operare (è sempre quello in cima
allo stack), ottenendo istruzioni (opcodes) più corte e più semplici da decodificare. L'altra
faccia della medaglia è che nel caso sia necessario un dato "sepolto" in fondo allo stack, il suo
recupero è un'operazione molto lenta.

- basate su registri: queste CPU sono dotate di ulteriori registri generici che restano
a disposizione dell'utente per memorizzarci valori temporanei. Le istruzioni possono accedere
a questi registri generici. La maggioranza delle CPU sono di questo tipo.

Una CPU è un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo detto CLOCK, che ne determina di conseguenza la velocità operativa, detta velocità di clock: quindi il tempo di esecuzione di una istruzione si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari perché la CPU la completi. In effetti, una parte importante e delicata di ogni CPU è il sistema di distribuzione che porta il segnale di clock alle varie unità e sottounità di cui è composta, per fare in modo che siano sempre in sincronia: tale sistema si dirama in una struttura ad albero con divisori e ripetitori che giunge ovunque nella CPU. Nei processori più moderni (Pentium, Athlon, PowerPC) questa "catena di ingranaggi" elettronica arriva ad impiegare circa il 30% di tutti i transistor disponibili. La velocità di questa distribuzione determina in maniera diretta la massima frequenza operativa di una CPU: nessuna CPU può essere più veloce del suo critical path, cioè del tempo che impiega il clock per percorrere il tratto più lungo in tutto l'albero di distribuzione del clock. Per esempio, se il segnale di clock di una data CPU impiega un nanosecondo per attraversare tutto il chip ed arrivare fino all'ultima sottounità, questa CPU potrà operare a non più di 1 GHz, perché altrimenti le sue componenti interne perderebbero la sincronizzazione, con risultati imprevedibili (per motivi di tolleranze e margini di sicurezza, il limite pratico sarà anzi ben minore di 1GHz).

Nessun commento: