Non sono proprio gli stessi. I registri sono i luoghi in cui si trovano i valori su cui la CPU sta effettivamente lavorando. Il design della CPU è tale da poter effettivamente modificare o agire in altro modo su un valore quando si trova in un registro. Quindi i registri possono funzionare in modo logico, mentre la memoria (compresa la cache) può contenere solo valori che la CPU legge e scrive.
Immagina un falegname al lavoro. Ha alcuni oggetti tra le mani (registri) e poi, molto vicino al suo banco di lavoro (cache) cose su cui sta lavorando frequentemente, ma non sta usando proprio in questo momento, e poi in officina (memoria principale) cose che riguardano il progetto a portata di mano ma che non sono immediatamente abbastanza importanti per essere sul banco di lavoro.
EDIT: ecco una semplice spiegazione di come funziona la logica di registro.
Immaginiamo di avere quattro registri chiamati R1..R4. Se compili un'istruzione simile a questa:
x = y + z * 3;
il compilatore produrrebbe un codice macchina che (quando disassemblato) avrà un aspetto simile al seguente:
LOAD R1, ADDRESS_Z //move the value of Z into register 1
MUL R1, 3 //multiply the value of register 1 by 3
LOAD R2, ADDRESS_Y //move the value of Y into register 2
ADD R1, R2 //adds the value in R2 to the value in R1
STORE R1, ADDRESS_X //move the value of register 1 into X
Poiché la maggior parte delle CPU moderne ha registri larghi 32 o 64 bit, possono fare matematica su qualsiasi valore fino alla dimensione che possono contenere. Non hanno bisogno di registri speciali per valori più piccoli; usano solo speciali istruzioni ASM che gli dicono di usare solo una parte del registro. E, proprio come il falegname con solo due mani, i registri possono contenere solo una piccola quantità di dati alla volta, ma possono essere riutilizzati, passando i dati attivi dentro e fuori, il che significa che "molti registri" non lo fanno finire per essere necessario. (Avere molto disponibile consente ai compilatori di generare codice più veloce, ovviamente, ma non è strettamente necessario.)