ক্যাশ মেমোরি (Cache Memory) কি? | এর গুরুত্ব কতটুকু?

বন্ধুরা আমি পূর্বেই মোবাইল প্রসেসর, ৩২ বিট প্রসেসর, ৬৪ বিট প্রসেসর, র‍্যাম কি, কম্পিউটার প্রসেসর আই৩ আই৫ আই৭, জিপিইউ ইত্যাদি নিয়ে বিস্তারিত আলোচনা করে ফেলেছি। এবার আলোচনা করতে চলেছি ক্যাশ মেমোরি কি, তার সম্পর্কে। আলোচনায় প্রবেশের আগে একটি কথা বলে নিতে চাই, দেখুন অনেকে এমন কিছু পোস্ট করার অনুরোধ করে থাকেন যা আগে থেকেই এই ব্লগে মজুদ রয়েছে, তো দয়া করে নির্দিষ্ট মেন্যু থেকে সেগুলো চেক করে নিন। তাছাড়া আপনি যেকোনো পোস্টের জন্য অনুসন্ধানও করতে পারেন। আপনার পছন্দের বা প্রয়োজনীয় টপিকটি যদি এই ব্লগে না খুঁজে পাওয়া যায় তবে অবশ্যই আমাকে কমেন্ট করে আপনার পোস্টটি অনুরোধ করুন, আমি অবশ্যই আপনার অনুরোধ রাখার চেষ্টা করবো। যাই হোক, আজকের মূল আলোচনায় প্রবেশ করা যাক।


ক্যাশ মেমোরি (Cache Memory) কি?

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

লেভেল ওয়ান ক্যাশ সবচাইতে দ্রুতগামী হয়ে থাকে এবং এটি প্রসেসরের ভেতরেই অবস্থিত হয়ে থাকে। লেভেল টু ক্যাশ প্রসেসরের ভেতরেও হতে পারে আবার প্রসেসরের বাইরে সবচেয়ে কাছে লাগানো একটি আলদা আইসিতেও হতে পারে। কিন্তু প্রসেসর এবং ঐ আইসির মাঝখানে একটি হাই স্পীড বাস থাকে যার মাধ্যমে প্রসেসর খুব দ্রুত ভাবে ঐ আইসিকে অ্যাক্সেস করতে পারে। এবং লেভেল থ্রী ক্যাশ একটি সম্পূর্ণ আলাদা মেমোরি হয়ে থাকে এবং র‍্যাম থেকে প্রায় দ্বিগুণ গতি সম্পূর্ণ হয়ে থাকে। এবং এই মেমোরি প্রসেসরের সকল কোরের সাথে শেয়ার হয়ে থাকে।

ক্যাশ মেমোরি কেন কাজে লাগে?

 

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

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

ক্যাশ লেটেন্সি (Cache Latency)?

 

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

অনেক প্রসেসরে যেমন আই৩, আই৫, আই৭ বা ইনটেল জিয়ন সিরিজের প্রসেসরে ২ এম্বি, ৩ এম্বি, ৬ এম্বি, ৮ এম্বি, ১২ এম্বি ইত্যাদি ক্যাশ দেখতে পাওয়া যায়। আপনি হয়তো মনে করবেন যে ১২ এম্বি তো অনেক ছোট সাইজ। কিন্তু একটি ক্যাশ মেমোরির জন্য একটি অনেক বেশি ক্যাপাসিটি। এই মাত্র ১২ এম্বির মধ্যে অনেক গুলো নির্দেশনা সংরক্ষন করে রাখা সম্ভব অনেক রীড রাইট কম্যান্ড সংরক্ষন করা সম্ভব এবং অনেক গুরুত্বপূর্ণ ফাইলস জমা করা সম্ভব যা অনেক দ্রুত প্রসেসরের অ্যাক্সেসের প্রয়োজন পড়ে। তো এই সকল ফাইলস ক্যাশ স্টোর করে সিপিইউ এর কাজ করার ক্ষমতাকে অনেক দ্রুত করে দেয়।

অ্যান্ড্রয়েড ক্যাশ মেমোরি

 

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

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

শেষ কথা

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

Images: Shutterstock.com

About the author

তাহমিদ বোরহান

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

সারাদিন প্রচুর পরিমাণে গান শুনি আর ইউটিউবে র‍্যান্ডম ভিডিও দেখি। ওয়ার্ডপ্রেস, ক্লাউড কম্পিউটিং, ভিডিও প্রোডাকশন, এবং ইউআই/ইউএক্স ডিজাইনের উপরে বিশেষ পারদর্শিতা রয়েছে। নিজের গল্প, মানুষের গল্প, আর এলোমেলো টপিক নিয়ে ব্যাক্তিগত ব্লগে লিখি। খাওয়া আর ঘুম আমার আরেক প্যাশন!

Add comment

Categories