Onlar tamamen aynı değil. Kayıtlar, CPU'nun gerçekte üzerinde çalıştığı değerlerin bulunduğu yerlerdir. CPU tasarımı, sadece bir kayıt defterindeyken bir değeri ancak gerçekten değiştirebilmeyi veya başka bir şekilde hareket edebilmeyi sağlayacak şekildedir. Böylece kayıtlar mantıkta çalışabilirken, hafıza (önbellek dahil) yalnızca CPU'nun okuduğu ve yazdığı değerleri tutabilir.
İş yerinde bir marangoz düşünün. Elinde (kayıtları olan) birkaç madde var ve daha sonra, üzerinde çalıştığı tezgahları (önbellekleri) çok yakından takip ediyor, fakat şu anda kullanmıyor, ardından atölyede (ana hafıza) Eldeki proje ancak bu tezgah üzerinde olmak için hemen önemli değil.
EDIT: İşte mantık kayıt nasıl çalıştığını basit bir açıklama.
R1..R4 adında dört kayıt olduğunu düşünelim. Buna benzeyen bir ifade derlerseniz:
x = y + z * 3;
derleyici (demonte edildiğinde) şuna benzeyen makine kodunu verir:
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
Modern işlemcilerin çoğu 32 veya 64 bit genişliğinde kayıtlara sahip olduklarından, tutabilecekleri boyuta kadar herhangi bir değerde matematik yapabilirler. Daha küçük değerler için özel kayıtlara ihtiyaçları yoktur; sadece kaydın sadece bir kısmını kullanmasını söyleyen özel ASM talimatları kullanıyorlar. Ve, sadece iki eli olan marangoz gibi, kayıtçılar bir kerede yalnızca az miktarda veri tutabilirler, ancak tekrar kullanılabilirler, aktif verileri bunlardan içeri ve dışarı aktarabilirler, yani "çok sayıda kayıt yapan" Sonunda ihtiyaç duyuluyor. (Çok fazla kullanılabilirliğin olması derleyicilerin daha hızlı kod üretmesini sağlar, ancak kesinlikle gerekli değildir.)