No son exactamente lo mismo. Los registros son los lugares donde se encuentran los valores en los que la CPU está trabajando realmente. El diseño de la CPU es tal que solo puede modificar o actuar sobre un valor cuando está en un registro. Por lo tanto, los registros pueden funcionar con lógica, mientras que la memoria (incluida la memoria caché) solo puede contener valores de los que la CPU lee y escribe.
Imagina un carpintero en el trabajo. Tiene algunos elementos en sus manos (registros) y luego, muy cerca en su banco de trabajo (caché) cosas en las que está trabajando con frecuencia, pero que no usa en este momento, y luego en el taller (memoria principal) cosas que pertenecen a el proyecto en cuestión pero que no son lo suficientemente importantes como para estar en el banco de trabajo.
EDITAR: Aquí hay una explicación simple de cómo funciona la lógica de registro.
Imaginemos que tenemos cuatro registros llamados R1..R4. Si compila una declaración que se ve así:
x = y + z * 3;
el compilador generaría un código de máquina que (cuando se desmonta) se ve así:
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
Dado que la mayoría de las CPU modernas tienen registros de 32 o 64 bits de ancho, pueden hacer cálculos matemáticos en cualquier valor hasta el tamaño que pueden contener. No necesitan registros especiales para valores más pequeños; solo usan instrucciones especiales de ASM que le indican que solo use parte del registro. Y, al igual que el carpintero con solo dos manos, los registros solo pueden contener una pequeña cantidad de datos a la vez, pero pueden reutilizarse, pasando datos activos dentro y fuera de ellos, lo que significa que "muchos registros" no terminar siendo necesario. (Tener un lote disponible permite a los compiladores generar código más rápido, por supuesto, pero no es estrictamente necesario).