ক্যাশ মেমোরি কি এবং ক্যাশ মেমোরি কীভাবে কাজ করে

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

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

ক্যাশ মেমোরি কি – Cache মেমোরি কি – ক্যাশ মেমোরি কাকে বলে

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

আবার অন্যভাবে বলতে গেলে ক্যাশ মেমরি হল একটি চিপ-ভিত্তিক কম্পিউটার ডিভাইস যা CPU-তে প্রয়োজনীয় ডেটা রাখার জন্য একটি অস্থায়ী স্টোরেজ এরিয়া হিসাবে কাজ করে। ক্যাশ নামক এই অস্থায়ী স্টোরেজ ডিভাইসটি প্রসেসরের খুব কাছাকাছি অবস্থান করে। ক্যাশ মেমরিকে CPU (সেন্ট্রাল প্রসেসিং ইউনিট) মেমরিও বলা হয় কারণ এটি সাধারণত সরাসরি সিপিইউ চিপের ভিতরে থাকে। এটি একটি পৃথক বাসে (Computer Bus) একটি কম্পিউটারে CPU এর সাথে সংযুক্ত থাকে। যেহেতু এটি প্রসেসরের খুব কাছাকাছি, তাই এটি আকারে অনেক ছোট এবং এই মেমরির স্টোরেজ স্পেসও খুবই অল্প। ক্যাশে মেমরি প্রাইমারি মেমরির চেয়ে অনেক বেশি ব্যয়বহুল। ক্যাশ মেমরি সাধারণত RAM এর চেয়ে 10 থেকে 100 গুণ দ্রুত কাজ করতে সক্ষম । এই মেমোরি মাত্র কয়েক ন্যানো সেকেন্ডের মধ্যে আউটপুট সরবরাহ করতে সক্ষম। ক্যাশ মেমরিতে ব্যবহৃত হার্ডওয়্যারটিকে “হাই স্পিড স্ট্যাটিক র‍্যান্ডম অ্যাক্সেস মেমরি (SRAM)” বলা হয়।

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

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

যখনই সিপিইউ -এর কোনো ডেটার প্রয়োজন হয়, সিপিইউ প্রথমে সেই ডেটা ক্যাশে মেমোরিতে সার্চ করে। যদি সিপিইউ সেই ডেটাটি ক্যাশ মেমরিতে পেয়ে যায়, তাহলে সিপিইউ সেই ডেটা দিয়ে তার প্রক্রিয়া চালিয়ে যায় এবং যদি ক্যাশ মেমোরিতে সেই ডেটা না পায়, তখন সিপিইউ সেই ডেটা র‍্যাম বা প্রাথমিক মেমরিতে সার্চ করে ।

ক্যাশ মেমরি CPU এর প্রধান মেমরি থেকে ডেটা অ্যাক্সেস করার সময় কমিয়ে দেয়। যার কারণে CPU এর কর্মক্ষমতা অনেকটা বৃদ্ধি পায়।

ক্যাশ মেমরির গুরুত্ব কী

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

ক্যাশ মেমরি বর্তমানে কার্যকর হওয়া প্রোগ্রাম বা এর অংশ সংরক্ষণ করে। ক্যাশ মেমোরি অস্থায়ী ডেটাও সঞ্চয় করে যা CPU-কে ঘন ঘন ম্যানিপুলেশন করার জন্য প্রয়োজন হতে পারে। ক্যাশ মেমোরি বিভিন্ন অ্যালগরিদম অনুযায়ী কাজ করে, যা নির্ধারণ করে কোন তথ্য সংরক্ষণ করতে হবে। 

আরও পড়ুনঃ ক্রিপ্টোকারেন্সি কী এবং এটি কীভাবে কাজ করে?

ক্যাশে মেমরি কত প্রকার

ক্যাশ মেমরি অনেক ধরনের রয়েছে। এখন দেখা যাক কিভাবে এই ক্যাশ মেমরিকে সাধারণত ভাগ করা যায়-

ব্রাউজার ক্যাশে

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

কারণ, যখন আমরা পুনরায় একই ওয়েবসাইটে প্রবেশ করি, তখন প্রসেসর সেই ওয়েবসাইটের জিনিসগুলোকে আমাদের সামনে খুব দ্রুত উপস্থাপন করতে পারে। আর সেই ওয়েবসাইটের সকল CSS বা জাভা ফাইল ক্যাশ মেমরিতে সংরক্ষিত থাকে।

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

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

এখানে আরও একটি বিষয় উল্লেখ্য যে, ক্যাশ মেমরি সাধারণত দুই থেকে তিন এমবি হয়ে থাকে, কিন্তু মাঝে মাঝে আমরা একটি অ্যাপ্লিকেশনের ক্যাশ ডেটা 400 থেকে 500 এমবি পর্যন্ত দেখতে পাই । আপনি নিশ্চয়ই ভাবছেন যে এটি কীভাবে সম্ভব।

যদিও ক্যাশে মেমরির আকার খুব ছোট, তবে এটি RAM এবং হার্ড ডিস্ক মেমরিতে যেকোনো ডেটা সংরক্ষণ করার ক্ষমতা রাখে। তাই আমরা যে স্টোরেজ দেখতে পাই তা সাধারণত RAM এবং ROM থেকে নেওয়া স্টোরেজ।

মেমরি ক্যাশে

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

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

ডিস্ক ক্যাশে

বেশিরভাগ হার্ড ডিস্ক এবং সলিড স্টেট ড্রাইভ বা SSD-এর ক্ষেত্রে, আমরা একটি নির্দিষ্ট পরিমাণ ক্যাশ মেমরি দেখতে পাই।সাধারণত একটি কম্পিউটার প্রসেসরে ২ থেকে ৩ এমবি বা তার থেকেও বেশি ক্যাশে মেমরি থাকে।

কিন্তু হার্ড ড্রাইভ বা এসএসডি এর ক্ষেত্রে এই ক্যাশ মেমরি একটি নির্দিষ্ট পরিমাণ দেওয়া হয়। উদাহরণস্বরূপ, 1 TB হার্ড ডিস্কের ক্ষেত্রে, 32 মেগাবাইট ক্যাশ মেমরি দেওয়া হয়। অর্থাৎ কম্পিউটার বা মোবাইলের বিভিন্ন ডিস্ক স্টোরেজে একটি নির্দিষ্ট পরিমাণ ক্যাশ মেমরি দেওয়া হয়, যাতে এটি প্রসেসর বা সিপিইউ-এর ক্যাশের সাথে একত্রিত হয়ে দ্রুত গতিতে কাজ করতে পারে।

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

প্রসেসর ক্যাশে

প্রসেসর ক্যাশ মেমরির কাজ হল CPU গতি এবং কর্মক্ষমতা উন্নত করা, সাধারণত CPU-এর অ্যাক্সেসযোগ্যতার উপর ভিত্তি করে এটিকে বিভিন্ন স্তরে ভাগ করা হয়। ক্যাশে মেমরি বিভিন্ন স্তরে বিভক্ত, যা হল L1, L2 এবং L3।

L1 ক্যাশে:  এটি ক্যাশ মেমরির প্রথম স্তর যা L1 ক্যাশ বা লেভেল 1 ক্যাশ নামে পরিচিত। লেভেল 1 ক্যাশ মেমরি আকারে অনেক ছোট এবং এর গতি বেশি। এই মেমরিটি সিপিইউ-এর ভিতরে থাকে যা খুব অল্প পরিমাণে ডেটা স্টোর করে। যদি CPU ফোর-কোরের হয়, তাহলে প্রতিটি CPU কোরের নিজস্ব লেভেল 1 ক্যাশ মেমরি থাকে। এর গতি CPU এর গতির মতই। লেভেল 1 ক্যাশ মেমরির আকার 2KB থেকে শুরু করে 64 KB পর্যন্ত পরিবর্তিত হয়।

লেভেল 1 ক্যাশে মেমরিকে দুটি ভাগে ভাগ করা হয়-

  • নির্দেশনা ক্যাশ
  • ডেটা ক্যাশ

নির্দেশনা ক্যাশ – এটি CPU প্রক্রিয়াকরণের জন্য প্রয়োজনীয় নির্দেশাবলী সংরক্ষণ করে।

ডেটা ক্যাশ – এটি সিপিইউ প্রক্রিয়াকরণে ব্যবহৃত ডেটা সংরক্ষণ করতে কাজ করে।

যখন CPU-এর কোনো ধরনের ডেটার প্রয়োজন হয়, তখন CPU প্রথমে লেভেল 1 ক্যাশ মেমরিতে তা পরীক্ষা করে। যদি সেই ডেটা L1 ক্যাশে পাওয়া যায়, তাহলে CPU আর বাকি লেভেল গুলো পরীক্ষা করে না এবং সেই ডেটার মাধ্যমেই প্রক্রিয়াকরণ চালিয়ে যায়।

L2 ক্যাশে:  L2 ক্যাশ কে সেকেন্ডারি ক্যাশেও বলা হয়ে থাকে। লেভেল 2 ক্যাশ L1 ক্যাশ মেমরির থেকে আকারে কিছুটা বড়, তবে এর গতি L1 ক্যাশে মেমরির থেকে সামান্য কম। এর আকার 256KB থেকে 512KB পর্যন্ত হয়ে থাকে। L2 ক্যাশ মেমোরি সাধারনত CPU-তে থাকে কিন্তু কখনও কখনও একটি আলাদা চিপেও থাকতে পারে, এই ক্ষেত্রে এটি একটি ডেডিকেটেড সিস্টেম বাস দ্বারা CPU এর সাথে কানেক্টেড থাকে। যদি CPU, L1 বা লেভেল ১ ক্যাশে তার প্রয়োজনীয় ডেটা খুঁজে না পায়, তখন এটি L2 ক্যাশে সেই ডেটা অনুসন্ধান করে। যদি CPU ফোর-কোরের হয়, তাহলে প্রতিটি CPU কোরের আলাদা আলাদা লেভেল 2 ক্যাশে মেমরি থাকতে পারে । 

L3 ক্যাশে: এটি হল ক্যাশ মেমরির তৃতীয় স্তর যা L3 ক্যাশ মেমোরি বা লেভেল 3 ক্যাশ মেমরি নামেও পরিচিত। লেভেল 3 ক্যাশ মেমরি সব ধরনের প্রসেসরে থাকে না। এটি সাধারনত কিছু হাই-এন্ড প্রসেসরে থাকে। L3 ক্যাশ মেমোরি মূলত L2 ক্যাশের কর্মক্ষমতা উন্নত করার জন্য তৈরি করা হয়েছে। L3 ক্যাশ মেমরির ক্ষমতা L1 এবং L2 এর চেয়ে বেশি । এর আকার 1MB থেকে 8MB পর্যন্ত হয়ে থাকে। তবে এটি অন্যান্য ক্যাশ মেমরির তুলনায় ধীর গতির। যাইহোক, L3 ক্যাশ এর গতি DRAM এর দ্বিগুণ।একাধিক কোর সহ CPU-তে, সাধারণত দেখা যায় যে প্রতিটি কোরের জন্য ভিন্ন ভিন্ন L1 এবং L2 ক্যাশে আছে কিন্তু শুধুমাত্র একটি L3 ক্যাশ মেমোরি আছে।

আরও পড়ুনঃ ইউটিউব ভিডিওর ওয়াচ টাইম বাড়ানোর টিপস

ক্যাশে মেমরি কিভাবে কাজ করে

কোন কাজ সম্পাদন বা প্রক্রিয়াকরণের সময় যখন সিপিইউর কোনো ডেটার প্রয়োজন হয়, তখন সিপিইউ প্রথমে সেই ডেটাটি লেভেল 1 ক্যাশ মেমরিতে অনুসন্ধান বা সার্চ করে। যদি কোন কারণে CPU, সেই ডেটা লেভেল 1 ক্যাশে মেমরিতে খুঁজে না পায়, তখন CPU সেই ডেটা লেভেল ২ বা L2 ক্যাশে মেমরিতে খোঁজে এবং যদি প্রয়োজনীয় ডেটা সেখানেও না পাওয়া যায়, তাহলে CPU সেই ডেটা L3 ক্যাশে মেমরিতে খোঁজে। . 

সিপিইউ যখন কোনো একটি ক্যাশে মেমরিতে সেই ডেটা খুঁজে পায় তখন তাকে ক্যাশ হিট বলে এবং যদি কোনো ক্যাশে মেমরিতে প্রয়োজনীয় ডেটা না পাওয়া যায় তাহলে তাকে ক্যাশ মিস বলে। 

যদি সিপিইউ কোনো ক্যাশ মেমরিতেই ডেটা খুঁজে না পায়, তখন সিপিইউ এটিকে প্রাথমিক মেমরিতে অনুসন্ধান করে এবং যদি সেই ডেটা সেখানে না পাওয়া যায় তবে সিপিইউ সেকেন্ডারি মেমরিতে সেই ডেটা সার্চ করে। যেখান থেকে CPU তার প্রয়োজনীয় ডাটা পায়। 

যখন কম্পিউটার প্রথমবার চালু বা ওপেন করা হয়, বা প্রথমবারের জন্য একটি অ্যাপ্লিকেশন ওপেন করা হয়, তখন ক্যাশ মেমরি বা র‍্যামে ডেটা পাওয়া যায় না। এমন অবস্থায়, সিপিইউ সরাসরি হার্ড ডিস্ক ড্রাইভ থেকে ডেটা নিয়ে থাকে। 

একবার একটি প্রোগ্রাম ওপেন হলে, পরবর্তীতে যখনই আপনি আপনার কম্পিউটার ওপেন করবেন বা একটি অ্যাপ্লিকেশন খুলবেন, তখন CPU সেই ডেটা ক্যাশে মেমরি বা RAM থেকে পেতে পারে।

ক্যাশ মেমরির সুবিধা

  • ক্যাশে মেমরি প্রধান মেমরির চেয়ে অনেক বেশী দ্রুত।
  • এটি প্রধান মেমরির তুলনায় কম অ্যাক্সেস টাইম খরচ করে।
  • এটি প্রোগ্রামটি সংরক্ষণ করে যা অল্প সময়ের মধ্যে কার্যকর করা যেতে পারে।
  • এটি অস্থায়ী ব্যবহারের জন্য ডেটা সঞ্চয় করে।

ক্যাশ মেমরির অসুবিধা

  • এটি অন্যান্য মেমরির তুলনায় অনেক বেশি ব্যয়বহুল (যেমন – প্রাথমিক মেমরি এবং সেকেন্ডারি মেমরি)। 
  • এর স্টোরেজ ক্ষমতা বেশ সুবিধাজনক।
  • এটি অস্থায়ীভাবে ডেটা সংরক্ষণ করে রাখে।
  • কম্পিউটারটি বন্ধ করার সাথে সাথে এতে সংরক্ষিত সমস্ত ডেটা মুছে যায়।

শেষ কথা 

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

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

আর্টিকেলটি নিয়ে যে কোন ধরনের প্রশ্ন বা মন্তব্য থাকলে কমেন্ট সেকশনে জানান।

ধন্যবাদ

Share on:

আমি অঞ্জন, এই সাইটটির প্রতিষ্ঠাতা। এই ব্লগে টিপস & ট্রিকস, অনলাইন ইনকাম, কম্পিউটার সমস্যা সমাধান সহ আরো অনেক কিছুর উপর সঠিক ও নির্ভুল তথ্য দেওয়া হয়।

Leave a Comment