এগুলি এক রকম নয়। রেজিস্টারগুলি সেই জায়গাগুলি যেখানে সিপিইউতে মূলত যে মানগুলিতে কাজ করে সেগুলি অবস্থিত। সিপিইউ ডিজাইনটি এমন যে এটি কোনও রেজিস্টারে থাকা অবস্থায় কেবলমাত্র কোনও সংশোধন করতে বা অন্যথায় কাজ করতে সক্ষম। সুতরাং নিবন্ধগুলি যুক্তিযুক্ত কাজ করতে পারে, যেখানে মেমরি (ক্যাশে সহ) কেবল সিপিইউ থেকে পড়া এবং লিখিত মানগুলিকে ধারণ করতে পারে।
কাজের জায়গায় ছুতার কল্পনা করুন। তার হাতে কয়েকটি আইটেম রয়েছে (নিবন্ধসমূহ) এবং তারপরে খুব ঘনিষ্ঠভাবে তার ওয়ার্কব্যাঞ্চ (ক্যাশে) জিনিসগুলিতে তিনি প্রায়শই কাজ করছেন তবে এই মুহুর্তটি সঠিকভাবে ব্যবহার করছেন না এবং তারপরে ওয়ার্কশপে (মূল স্মৃতি) জিনিসগুলি যা সম্পর্কিত প্রকল্পটি হাতে রয়েছে তবে তা তাত্ক্ষণিকভাবে ওয়ার্কবেঞ্চে থাকা যথেষ্ট গুরুত্বপূর্ণ নয়।
সম্পাদনা: নিবন্ধের যুক্তি কীভাবে কাজ করে তার একটি সহজ ব্যাখ্যা এখানে।
আসুন কল্পনা করুন যে আমাদের চারটি নিবন্ধ রয়েছে যার নাম রয়েছে আর 1..আর 4। আপনি যদি এমন একটি বিবৃতি সংকলন করেন যা দেখে মনে হয়:
x = y + z * 3;
সংকলকটি মেশিন কোডকে আউটপুট দেয় যা (যখন বিচ্ছিন্ন করা হয়) এরকম কিছু দেখায়:
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
যেহেতু বেশিরভাগ আধুনিক সিপিইউতে নিবন্ধগুলি রয়েছে যা 32 বা 64 বিট প্রস্থের হয় তাই তারা যে পরিমাণ মান ধরে রাখতে পারে তা গণিত করতে পারে। ছোট মানগুলির জন্য তাদের বিশেষ রেজিস্টারগুলির প্রয়োজন নেই; তারা কেবল বিশেষ ASM নির্দেশাবলী ব্যবহার করে যা এটি কেবলমাত্র নিবন্ধকের অংশ ব্যবহার করতে বলে। এবং, কেবলমাত্র দু'হাত সহ কার্পেন্টারের মতোই, নিবন্ধগুলি কেবল একবারে অল্প পরিমাণে ডেটা ধরে রাখতে পারে তবে সেগুলি পুনরায় ব্যবহার করা যেতে পারে, এগুলির মধ্যে এবং বাইরে সক্রিয় ডেটাগুলি পাস করে যার অর্থ "প্রচুর রেজিস্ট্রার" হয় না শেষ হচ্ছে (প্রচুর উপলভ্য থাকায় কমপাইলাররা অবশ্যই দ্রুত কোড তৈরি করতে দেয়, তবে এটি কঠোরভাবে প্রয়োজনীয় নয় necessary)