Register (রেজিষ্টার)


রেজিষ্ট্রেশন বা রেজিষ্টার শব্দগুলি আমরা হরহামেশাই ব্যাবহার করি। রেজিষ্ট্রেশন অর্থ নিবন্ধন, যেমন আমরা জন্ম নিবন্ধন করি। আর এই নিবন্ধিত রেকর্ড গুলো যেখানে সংরক্ষন করা হয় তাকে বলে রেজিষ্টার। সেটা হতে পারে একটা প্রচলিত খাতা, কোন সফ্টওয়্যার ইত্যাদি। আমরা অবশ্য এখানে অন্য একটি রেজিষ্টারের কথা আলোচনা করব।
রেজিষ্টার হল এক ধরনের ইলেকট্রনিক সার্কিট ব্যাবস্হা যা কোন একটা ডাটা স্টেটকে ষ্টোর করে রাখতে পারে। যেমন বিটের একটা রেজিষ্টার 11001110 বা 10101010 ধরনের একটা ডাটাকে ষ্টোর করে রাখতে পারে।
রেজিষ্টার হলো প্রসেসরের একটা ছোট অংশ যা অস্হায়ী ষ্টোরেজ হিসাবে ব্যাবহৃত হয়। কি ষ্টোর করে? সেটা হতে পারে কোন ডাটা, একটা এড্রেস, কোন কিছুর স্টেটাস ইত্যাদি। রেজিষ্টারকে এর বিট সংখা দ্বারা পরিমাপ করা হয়। যেমন বিট, ১৬ বিট, ৩২ বিট, ৬৪ বিট ইত্যাদি। এটা আসলে একটা রেজিষ্টারের ধারন ক্ষমতা। তার মানে বিটের একটা রেজিষ্টারে আমরা সর্বোচ্চ বিটের একটা ডাটাই রাখতে পারব। উদাহারন হিসাবে আমরা ডেসিমাল নাম্বারের কথা বললে, বিটের একটা রেজিষ্টারে আমরা থেকে ২৫৫ পর্যন্ত যেকোন একটা নাম্বারকে ষ্টোর করে রাখতে পারব। কোন কারনে ডাটা সাইজ বড় হলে সেটাকে ভেংগে টুকরা করে একাধীক রেজিষ্টারে রেখে CPU তাকে প্রসেস করতে পারে।

কিছু রেজিষ্টার আছে যা প্রসেসরের আভ্যন্তরীন কাজে ব্যাবহৃত হয়। এগুলোকে প্রসেসরের বাইরে থেকে ব্যাবহার করা যায়না। যেমন Instruction Register (IR), Memory Address Register MAR), Program Counter (PC). আর কিছু আছে যেগুলো ইউজার তার কাজে একসেস করতে পারবে। বেশির ভাগ আধুনিক প্রসেসরেই উভয় প্রকার রেজিষ্টারই থাকে। একটা প্রসেসরে নানারকম সুবিধা দেবার জন্য পর্যাপ্ত পরিমানে রেজিষ্টার দেয়া থাকে।
8051 RAM


Register A/Accumulator
The most important of all special function registers, that’s the first comment about Accumulator which is also known as ACC or A. The Accumulator (sometimes referred to as Register A also) holds the result of most of arithmetic and logic operations. ACC is usually accessed by direct addressing and its physical address is E0H. Accumulator is both byte and bit addressable. You can understand this from the figure shown below. To access the first bit (i.e bit 0) or to access accumulator as a single byte (all 8 bits at once), you may use the same physical address E0H. Now if you want to access the second bit (i.e bit 1), you may use E1H and for third bit E2H and so on.