কম্পিউটার মেমোরি কীভাবে কাজ করে? – বিস্তারিত ব্যাখ্যা

কম্পিউটার মেমোরি

আমি প্রায়শই চিন্তা করি, আমার মেমোরি (স্মরণশক্তি) যদি কম্পিউটারের মতো হতো! কিন্তু ব্যস্তবিকভাবে মানুষের ঘিলু আর কম্পিউটার মেমোরি এক জিনিস নয়—এরা সম্পূর্ণ আলাদাভাবে এবং আলাদা উদ্দেশ্যে কাজ করে। যেখানে মানুষের মেমোরি কোন নাম মনে রাখতে, কারো ফেস মনে রাখতে, কিংবা আজকের তারিখ মনে রাখতে সংগ্রাম করে চলেছে—সেখানে কম্পিউটার মেমোরিতে দিনের পর দিন আরো পরিপূর্ণতা আসছে। বন্ধুরা, আমাদের আজকের প্রশ্ন হলো, কীভাবে কম্পিউটারের এই অসাধারন স্মরণশক্তি রয়েছে? এবং কীভাবে এগুলো কাজ করে? তো চলুন সবকিছু বিস্তারিত করে জেনে নেওয়া যাক।

মেমোরি কি?

মেমোরি কি

কোন মেমোরির মৌলিক উদ্দেশ্য হলো (সেটা মানুষের মেমোরি হোক আর কম্পিউটার মেমোরিই হোক) কোন তথ্যকে একটি নির্দিষ্ট সময়ের জন্য সংরক্ষিত করে রাখা। সবচাইতে মজার ব্যাপার হলো, মানুষের মেমোরি কোন তথ্যকে মনে রাখার চেয়ে কোন তথ্যকে ভুলে যেতেই বেশি পটু। আর এটি হলো আমাদের ঘেলুর সবচাইতে কমজোর দিক। যদি কোন বিষয়কে আপনি মনোযোগ সহকারে না লখ্য করে থাকেন, তবে সেটি ভুলে যাওয়া থেকে আপনাকে আর কেউ রক্ষা করতে পারবে না। আর আমাদের কোন বিষয় সহজে ভুলে যাওয়ার অক্ষমতা থাকার জন্যই—আমরা কোন গুরুত্বপূর্ণ বিষয়কে অনেক মনোযোগের সহকারে রাখি। ভুলে যাওয়া মানে হলো, কোন পুরাতন আবর্জনা ভর্তি একটি কৌটাকে পরিষ্কার করে আবার নতুন কিছু ভরানোর জন্য প্রস্তুত করা।

কম্পিউটার কখনোই কোন বিষয়কে সেভাবে মনে রাখে বা ভুলে যায়না, যেভাবে মানুষ করে। কম্পিউটার বাইনারি এর উপর কাজ করে; তারা কিছু জানুক বা না জানুক, যদি একবার কম্পিউটার কোন কিছু শিখে নেয়, তবে কোন সর্বনাশা ক্র্যাশ ছাড়া সেটা আর কখনোই ভুলে যায়না। কিন্তু আমরা মানুষেরা একটু আলাদা হয়ে থাকি। আমরা কোন জিনিসকে চিনতে পারি (“আমি মনে হয় এর আগে তোমাকে কোথাও দেখেছিলাম”) অথবা আমাদের মনে হয় যে আমরা সেটা জানি (“আমি প্রথম হিন্দি শব্দ “পেয়ার” শিখেছিলাম, যখন আমি স্কুলে পড়তাম”) এবং প্রয়োজন ছাড়াও আমরা কোন তথ্যকে একত্রিত করতে পারি।

কম্পিউটারের অসদৃশ, মানুষ কোন বিষয়কে ভুলে যায়… আবার মনে করে, আবার ভুলে যায়… আবার মনে করে। সত্যি বলতে আমার কাছে মানুষের মেমোরি অনেকটা ম্যাজিকের মতো মনে হয়। কিন্তু সত্যতা হলো, আমাদের মস্তিষ্কের চাইতে একটি ৫০০ টাকা দামের পেনড্রাইভও বেশি মনে রাখতে পটু।

মেমোরির দুইটি ধরণ

ইন্টারনাল মেমোরি—র‍্যাম ও রম

মানুষ এবং কম্পিউটার মেমোরির মধ্যে একটি সদৃশ হলো, এদের উভয়েরই দুই প্রকারের মেমোরি রয়েছে। মানুষের মেমোরি প্রধানত দুটি ভাগে বিভক্ত হয়ে আছে, একটি হলো সর্ট টার্ম মেমোরি (short-term memory (যা আপনি সম্প্রতি দেখেছেন, শুনেছেন, অথবা মস্তিষ্কে কল্পনা করেছেন)) এবং আরেকটি হলো লং টার্ম মেমোরি (long-term memory (যা আমরা শিখেছি, বা আমাদের জীবন থেকে অভিজ্ঞতা নিয়েছি, আর এই জন্যই এগুলো আমাদের বেশি ভালো করে মনে থাকে))।

এমনভাবে কম্পিউটারেরও দুই ধরনের মেমোরি থাকে। এর ভেতর এক প্রকারের বিল্ড-ইন মেমোরি থাকে যাকে ইন্টারনাল মেমোরি বলা হয়, এটি সিলিকন চিপ দ্বারা প্রস্তুত করা হয়ে থাকে। এই মেমোরি কোন কম্পিউটার ডাটা অনেক দ্রুত সংরক্ষন এবং উদ্ধার করতে সক্ষম হয়ে থাকে, ফলে একে কম্পিউটারের বর্তমান প্রসেস সম্পূর্ণ করানোর কাজে ব্যবহার করা হয়।

সাধারনত, কম্পিউটারের ইন্টারনাল মেমোরি উদ্বায়ী (যা দ্রুত উবিয়ে যায়) হয়ে থাকে—অর্থাৎ কম্পিউটার বন্ধ করার সাথে সাথেই এর মধ্যে সংরক্ষিত সকল তথ্য গায়েব হয়ে যায়। আর এর জন্যই কম্পিউটারের আরেক প্রকার মেমোরির প্রয়োজন পড়ে, যাকে সহায়ক মেমোরি বা স্টোরেজ বলা হয়। এই মেমোরি, কম্পিউটার অফ থাকা অবস্থায়ও কোন তথ্য মনে রাখতে পারে। সাধারন পিসি বা ল্যাপটপে হার্ডড্রাইভ বা ফ্ল্যাশ স্টোরেজকে সহায়ক মেমোরি হিসেবে দেখতে পাওয়া যায়। সহায়ক মেমোরিকে আবার এক্সটারনাল মেমোরিও বলা হয়ে থাকে, কেনোনা হার্ডড্রাইভ আরেকটি আলাদা মেশিন হয়ে থাকে যা তারের মাধ্যমে কম্পিউটারের সাথে সংযুক্ত করা থাকে। আবার আজকের মডার্ন কম্পিউটার গুলোর সাথে প্লাগইন সহায়ক মেমোরি দেখতে পাওয়া যায়, যেমন ইউএসবি ফ্ল্যাশ মেমোরি স্টিক বা এসডি মেমোরি কার্ড, পোর্টআবোল হার্ডড্রাইভ, সিডি বা ডিভিডি রম, ইত্যাদি।

কম্পিউটারের প্রধান মেমোরি কিন্তু অনেক কম হয়ে থাকে, সাধারনত ৫১২ এম্বি থেকে ৮ জিবি পর্যন্ত (মডার্ন কম্পিউটার গুলোতে আরো মেমোরি থাকে)। কম্পিউটারে যতোবেশি প্রধান মেমোরি থাকবে, কম্পিউটার ততোবেশি তথ্য প্রসেস করতে পারবে এবং দ্রুতগতিতে কাজ করতে সক্ষম হবে। যদি কম্পিউটারের এর প্রধান মেমোরির চাইতেও বেশি তথ্য সংরক্ষন করার প্রয়োজন পড়ে তবে এটি হার্ডড্রাইভের কিছু ফাঁকা স্থানে তা সংরক্ষিত করে থাকে, আর একে ভার্চুয়াল মেমোরি বলা হয়।

উইন্ডোজ কম্পিউটারে হয়তো আপনি ভার্চুয়াল মেমোরি অপশনটি দেখে থাকবেন। কিন্তু আজ এর সম্পর্কে একটি সত্যতা জেনে নিন। আপনি যদি লক্ষ্য করেন যে, আপনার হার্ডড্রাইভ বেশিরভাগ সময়ই অনেক ডাটা রীড ও রাইট করতে ব্যস্ত থাকছে, তবে আপনার কম্পিউটার ভার্চুয়াল মেমোরি হিসেবে হার্ডড্রাইভ ব্যবহার করছে। ভার্চুয়াল মেমোরি তাত্ত্বিকভাবে কম্পিউটার পারফর্মেন্স দ্রুত করতে ব্যবহার করা হয়, কিন্তু ব্যস্তবিক ক্ষেত্রে এটি আপনার কম্পিউটার পারফর্মেন্স স্লো করে দিতে পারে। কেনোনা সহায়ক মেমোরি কখনোই প্রধান মেমোরির মতো দ্রুত গতির হতে পারে না। তাই যদি আপনার কম্পিউটারের প্রধান মেমোরির সাইজ মানে র‍্যামের সাইজ কম হয়ে থাকে তবে তা আপগ্রেড করায় বেস্ট হবে। আরো জানুন- পিসি স্লো হয়ে গেছে? জেনে নিন ঠিক কোন আপগ্রেড পিসি পারফর্মেন্স সর্ব উত্তম করতে পারে

ইন্টারনাল মেমোরি—র‍্যাম ও রম

কম্পিউটার ইন্টারনাল মেমোরি চিপ প্রধানত দুই প্রকারের হয়ে থাকে, একটি র‍্যাম (RAM) (র‍্যান্ডম অ্যাক্সেস মেমোরি) নামে পরিচিত এবং আরেকটি রম (ROM) (রীড অনলি মেমোরি) নামে পরিচিত। র‍্যাম চিপ কোন তথ্যকে ঠিক ততোক্ষণই মনে রাখতে পারে, যতোক্ষণ কম্পিউটারের পাওয়ার অন থাকে, সুতরাং এরা সর্ট টার্মে ডাটা সংরক্ষিত করে রাখে। অপরদিকে রম চিপ তখনও ডাটা সংরক্ষন করে রাখতে পারে, যখন কম্পিউটার অন থাকে না। রমকে ফ্যাক্টরিতে প্রস্তুত করার সময়ই একে প্রি-প্রোগ্রাম করে এর ভেতরে আগে থেকেই তথ্য ঢুকিয়ে রাখা হয়—পরে শুধু সেই তথ্য গুলোকে নতুন করে সাজিয়ে নতুন তথ্যে রূপান্তরিত করা হয়।

তো, কি বুঝলেন? কম্পিউটারে দুই ধরনের মেমোরি চিপ লাগানো থাকে। একটি সাময়িকভাবে তথ্য মনে রাখতে পারে, মানে যতোক্ষণ কম্পিউটার অন আছে, ততোক্ষণ—সেটি হলো র‍্যাম। আর আরেকটি পার্মানেন্ট ভাবে কোন তথ্য মনে রাখতে পারে, কম্পিউটার অফ থাকলেও—সেটি হলো রম।

র‍্যান্ডম অ্যাক্সেস কি?

র‍্যান্ডম অ্যাক্সেস

এটি মূলত একটি বিভ্রান্তিকর প্রশ্ন। র‍্যামের অর্থ র‍্যান্ডম অ্যাক্সেস—কেনোনা এটি দ্রুতগতিতে কম্পিউটার ডাটা রীড রাইট করতে সাহায্য করে এবং একই সময়ে এর যেকোনো স্থানে ডাটা অ্যাক্সেস করতে পারা সম্ভব। কম্পিউটারের হার্ডড্রাইভ গুলোও র‍্যান্ডম অ্যাক্সেস ডিভাইজ হয়ে থাকে। কারন একই সময়ে হার্ডড্রাইভের যেকোনো পয়েন্ট থেকে কোন ডাটা অ্যাক্সেস করা সম্ভব।

যাই হোক, সকল প্রকারের কম্পিউটার মেমোরি কিন্তু র‍্যান্ডম অ্যাক্সেস হয়ে থাকে না। যেমন ধরুন টেপ ড্রাইভের কথা, যাতে প্ল্যাস্টিকের ফিতা লাগানো থাকে এবং চম্বুকের সাহায্যে এ থেকে তথ্য রীড করা হয়ে থাকে। এখন যদি কম্পিউটার এই টেপ থেকে কোন নির্দিষ্ট পয়েন্টের তথ্য অ্যাক্সেস করতে চায় তবে এর ফিতার রিল গুলো সামনে পেছনে ঘুরতে আরম্ভ করবে, ঠিক ততোক্ষণ পর্যন্ত, যতোক্ষণ সেই নির্দিষ্ট পয়েন্টে এসে না পৌঁছায়। মনে করুন টেপটির রিল এখন প্রথমের দিকে আছে এবং কম্পিউটার একদম শেষ পয়েন্টের ডাটা অ্যাক্সেস করতে চাচ্ছে, তবে সেই ডাটা অ্যাক্সেস করতে অনেক সময় লেগে যাবে। কেনোনা রিল ঘুরে সেই পয়েন্ট পর্যন্ত যাবে এবং তারপরে ডাটা অ্যাক্সেস করা সম্ভব হবে। আর একে অনুক্রমিক এক্সেস বলা হয়।

র‍্যামের প্রকারভেদ

র‍্যাম প্রধানত দুই বৈচিত্র্যের হয়ে থাকে, একটি হলো ডির‍্যাম (DRAM) (ডাইন্যামিক র‍্যাম) আর আরেকটি হলো এসর‍্যাম (SRAM) (স্ট্যাটিক র‍্যাম)। ডির‍্যাম এসর‍্যামের তুলনায় কম ব্যয়বহুল হয় এবং এটি উচ্চ ঘনত্বের হয়ে থাকে (মানে কম সাইজের মধ্যে বেশি ডাটা আটাতে পারে)। সুতরাং ডির‍্যামকে ইন্টারনাল মেমোরি হিসেবে ব্যবহার করা হয়ে থাকে, বেশিরভাগ সময় পিসি, গেমিং কনসোলে ব্যবহার করা হয়ে থাকে।

অপরদিকে, এসর‍্যামের দাম অনেক বেশি হয়ে থাকে এবং এটি অনেক কম পাওয়ার ক্ষয়ের সাথে সাথে অনেক বেশি দ্রুতগতির হয়ে থাকে—কিন্তু এর ডাটা ক্যাপাসিটি অনেক কম হয়ে থাকে। এসর‍্যামকে বিশেষ করে ক্যাশ মেমোরি বলা হয়ে থাকে। এটি বিশেষ করে পোর্টআবোল গ্যাজেটে যেমন সেলফোনে ব্যবহার করা হয়ে থাকে, যেখানে পাওয়ার বাঁচানোর সাথে বেশি স্পীডের প্রয়োজন পড়ে।

ডির‍্যাম এবং এসর‍্যাম মূলত একই ধরনের কাজ করে। এদের তৈরি করার সময়ই এদের একটু আলাদা ইলেক্ট্রনিক যন্ত্রাংশ ব্যবহার করে তৈরি করা হয়। এই দুই প্রকারের র‍্যামই তথ্য ভুলে যায়, কিন্তু ডির‍্যামের মেমোরি ফ্রেস হওয়ার জন্য কম্পিউটার অফ বা পাওয়ার অফ হওয়ার প্রয়োজন পড়ে কিন্তু এসর‍্যাম এই উপায়ে মেমোরি ফ্রেস করে না। ডির‍্যামে অল্প সাইজের মধ্যে বেশি ডাটা আঁটানো যায়—কারন এটি একটি বিটকে সংরক্ষন করার জন্য একটি ক্যাপাসিটার এবং একটি ট্র্যানজিস্টর ব্যবহার করে থাকে। কিন্তু এসর‍্যামে একটি বিট সংরক্ষিত হওয়ার জন্য কতিপয় ক্যাপাসিটার এবং একটি ট্র্যানজিস্টরের প্রয়োজন পড়ে।

র‍্যাম নিয়ে আরো কিছু গুরুত্বপূর্ণ পোস্ট

রম

কম্পিউটার মেমোরি র‍্যামের মতো রম ও বিভিন্ন বৈচিত্র্যের হয়ে থাকে—আর এখানেই একটু এলোমেলো ব্যাপার রয়েছে, কেনোনা সব রমই কিন্তু রীড অনলি মেমোরি হয়না। আপনার ফোনের কিংবা ক্যামেরার ফ্ল্যাশ মেমোরি, ইউএসবি পেনড্রাইভ ইত্যাদিও কিন্তু এক প্রকারের রম—কেনোনা পাওয়ার অফ হওয়ার পরেও কিন্তু এর ডাটা মনে রাখবার ক্ষমতা রয়েছে। টেকনিক্যাল ভাবে বলতে গেলে, ফ্ল্যাশ মেমোরি গুলো হলো EEPROM (electrically erasable programmable ROM) টাইপের রম। অর্থাৎ যেখানে কোন তথ্য সংরক্ষন এবং ডিলিট করার জন্য এর ভেতর দিয়ে ইলেকট্রিক কারেন্ট প্রবাহ করানোর প্রয়োজন পড়ে।

সত্যি বলতে আপনার স্মার্টফোন, মোডেম বা রাউটারের ফ্রেমওয়্যার এর রমে সংরক্ষিত থাকেনা, এটি সংরক্ষিত থাকে এর ফ্ল্যাশ মেমোরিতে, যাতে তা পরে আপগ্রেড করানো যায়। রম র‍্যামের তুলনায় অনেক ধীর গতির হয়ে থাকে, এবং র‍্যামের মতো এতো রীড এবং রাইট করার ক্ষমতা থাকে না।

কম্পিউটার মেমোরি কীভাবে বাইনারিতে তথ্য সংরক্ষিত করে

বাইনারি

কম্পিউটার মেমোরি—কোন ফটো, ভিডিও, মিউজিক বা যেকোনো কম্পিউটার তথ্যকে নাম্বার অথবা সংখ্যার রূপে সংরক্ষিত করে রাখে। আর এই জন্যই কম্পিউটারকে বলা হয় “ডিজিটাল কম্পিউটার“। আমরা মানুষেরা দশমিক সংখ্যা ব্যবহার করে কাজ করতে পছন্দ করি (০ থেকে ৯ পর্যন্ত ১০ টি সংখ্যা)। কিন্তু কম্পিউটার সম্পূর্ণ আলাদা সংখ্যা সিস্টেম ব্যবহার করে কাজ করে, আর একে বাইনারি সংখ্যা বলা হয়। বাইনারিতে শুধুমাত্র দুইটি সংখ্যা থাকে, জিরো (0) এবং ওয়ান (1)। দশমিক কোন সংখ্যাকে লেখার জন্য বাইনারিতে একাধিক সংখ্যার প্রয়োজন পড়ে। বাইনারি ডিজিট গুলোকে বিট বলা হয়—অর্থাৎ এক একটি জিরো বা ওয়ান হলো এক একটি বিট। একসাথে আটটি বিটকে এক বাইট (byte) বলে।


WiREBD এখন ইউটিউবে, নিয়মিত টেক/বিজ্ঞান/লাইফ স্টাইল বিষয়ক ভিডিও গুলো পেতে WiREBD ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুণ! জাস্ট, youtube.com/wirebd — এই লিংকে চলে যান এবং সাবস্ক্রাইব বাটনটি হিট করুণ!

আমরা মানুষেরা দশমিক নাম্বার ব্যবহার করতে পছন্দ করি তার একটি বড় কারন হলো আমাদের ১০টি আঙ্গুল রয়েছে। কিন্তু কম্পিউটারের ১০টি আঙ্গুল থাকে না। আঙ্গুলের বদলে কম্পিউটার মেমোরি তে থাকে কোটিকোটি ইলেক্ট্রনিক সুইচ, যাকে ট্র্যানজিস্টর বলা হয়ে থাকে। ট্র্যানজিস্টর গুলো কোন বাইনারি নাম্বার সংরক্ষন করে রাখতে পারে যখন এর ভেতর দিয়ে ইলেকট্রিক কারেন্ট প্রবাহ করানো হয়। কোন ট্র্যানজিস্টরকে সুইচ অন করালে এটি (1) নাম্বারকে সংরক্ষিত করে এবং অফ করালে (0) নাম্বারকে সংরক্ষিত করে।

শেষ কথা

তো এই ছিল কম্পিউটার মেমোরি আর তার অসাধারন স্মরণশক্তির রহস্য। আশা করছি অত্যন্ত সহজ করে এই সম্পূর্ণ বিষয়টি আপনাদের সামনে তুলে ধরতে সক্ষম হয়েছি, এবং আজকের পোস্টটি একটি তথ্যের ভাণ্ডার ছিল। পোস্টটি আপনার ভালো লাগলে অবশ্যই শেয়ার করুন, কমেন্ট করুন আর এভাবেই আপনার সমর্থন বজায় রাখুন।

তাহমিদ বোরহান
প্রযুক্তির জটিল টার্মগুলো কি আপনাকে বিভ্রান্ত করছে? কিছুতেই কি আপনার মস্তিষ্কে পাল্লা পড়ছে না? তাহলে বন্ধু, আপনি এবার সঠিক জায়গায় এসেছেন—কেনোনা এখানে আমি প্রযুক্তির সকল জটিল বিষয় গুলো ভাঙ্গিয়ে সহজ পানির মতো উপস্থাপন করার চেষ্টা করি, যাতে সকলে সহজেই সকল টেক টার্ম গুলো বুঝতে পারে।