Cercando di rendere questo più intuitivo possibile senza perdersi nella fisica alla base della domanda: c'è una semplice correlazione tra velocità e distanza in elettronica. Più si fa viaggiare un segnale, più diventa difficile ottenere quel segnale dall'altra parte del filo senza che il segnale si corrompa. È il principio "non c'è il pranzo libero" del design elettronico.
Il corollario è che più grande è più lento. Perché se fai qualcosa di più grande, inevitabilmente le distanze aumenteranno. Qualcosa che è stato automatico per un po ', riducendo le dimensioni della feature sul chip ha prodotto automaticamente un processore più veloce.
Il file di registro in un processore è piccolo e si trova fisicamente vicino al motore di esecuzione. Il più lontano rimosso dal processore è la RAM. È possibile inserire il caso e in realtà vedere i fili tra i due. In mezzo si nascondono le cache, progettate per colmare il divario drammatico tra la velocità di quei due opposti. Ogni processore ha una cache L1, relativamente piccola (tipicamente 32 KB) e situata più vicina al core. Più in basso è la cache L2, relativamente grande (4 MB typ) e situata più lontano dal nucleo. I processori più costosi hanno anche una cache L3, più grande e più lontana.
Quindi ciò che segue è che un registro della CPU è sempre più veloce della cache L1. È il più vicino La differenza è all'incirca un fattore pari a 3.
fonte
2013-01-24 16:36:59
i registri saranno sempre i più veloci, perché è qui che avviene "l'esecuzione". ma i registri sono MOLTO limitati in termini di spazio di archiviazione. per esempio. I processori x86 avevano solo ** 4 ** registri di uso generale in cui si potevano archiviare le cose, e anche quelli erano a duplice scopo per certe cose. –