১৯৮০ দশকে মাইক্রোপ্রসেসরের গতি মেমরি অ্যাক্সেস টাইমের চেয়ে এক্সপোনেনশিয়ালি বেড়ে। মেমরি অ্যাক্সেস স্পিড বেড়ানো এবং সিস্টেম দক্ষ করতে কিছু করতে হয় বলে বুঝতে পারল। প্রসেসিং স্পিড এবং মেমরি স্পিডের এই ব্যবধানই ক্যাশের উদ্ভাবনে নিয়ে এল।
ক্যাশ কী
ক্যাশের আবিষ্কার কম্পিউটার সাইন্সের ইতিহাসে সবচেয়ে গুরুত্বপূর্ণ ঘটনाओं 중 এক। কিন্তু ক্যাশ আসলে কী? এটি কীভাবে কাজ করে?

মৌলিক স্তরে ক্যাশ একটি দ্রুত মেমরি। এতে একটি ছোট মেমরি পুল থাকে যাতে নির্দিষ্ট কাজ করার সময় CPU-এর পরবর্তীতে প্রয়োজন হয় এমন ইন্সট্রাকশন থাকে। কম্পিউটার জটিল অ্যালগরিদম ও প্রোগ্রামিং কোডের জ্ঞান দিয়ে সেটি ক্যাশে লোড করে। ক্যাশ সিস্টেম থাকার উদ্দেশ্য: CPU-র التى ডেটা নির্দিষ্ট ক্রমে বাধা nélkül পাওয়া।
কাজ করার প্রক্রিয়া বুঝতে হলে জানতে হবে কম্পিউটারের তিন ধরণের মেমরি থাকে। প্রথমে প্রাইমারি মেমরি—হার্ড ড্রাইভ বা SSD। এটি মেশিনে সবচেয়ে বড় মেমরি রিপোজিটরি। তারপর RAM (Random Access Memory)—প্রাইমারি মেমরির চেয়ে দ্রুত কিন্তু ছোট। শেষে CPU-র ভেতরে মেমরি यুনিটগুলো—ক্যাশ। ক্যাশ সবচেয়ে দ্রুত মেমরি টাইপ।
প্রোগ্রাম লঞ্চ হলে সেটি কোডে থাকা ইন্সট্রাকশন সিরিজ এক্সিকিউট করা শুরু করে। সেটি প্রথমে RAM-এ লোড হয়, তারপর CPU-তে যায়। ডেটা সঠিক ব্যবহারে ইন্সট্রাকশন এক্সিকিউট করতে CPU-র হাই-স্পিড মেমরি লাগে। সেখানে ক্যাশ আসে।
ক্যাশের লেভেল
CPU-র ভেতরে তিন লেভেল ক্যাশ থাকে: L1, L2, L3। কিছু কোম্পানি L4 ক্যাশেও কাজ করছে।
L1 ক্যাশ তিনটির মধ্যে সবচেয়ে দ্রুত এবং ছোট। এতে CPU-এর অপারেশন করার সময় প্রয়োজনীয় ডেটা থাকে। L1 সাধারণত ২৫৬KB ধারণ করে, কিছু ১MB পর্যন্ত বাড়িয়েছে।

এই ছোট ক্যাশের দ্বৈত উদ্দেশ্য: ইনস্ট্রাকশন ক্যাশ ও ডেটা ক্যাশ। ইনস্ট্রাকশন ক্যাশ CPU-র অপারেশন التعامل করে, ডেটা ক্যাশ প্রসেসিং-র ইনফরমেশন ধারণ করে।
পরবর্তী L2 ক্যাশ। L1-এর চেয়ে স্লোওয়ার এবং বেশি ডেটা ধারণ করে। ২৫৬KB থেকে ৮MB পর্যন্ত ডেটা থাকে যা কম্পিউটার পরবর্তীতে অ্যাক্সেস করতে পারে।
শেষে L3 ক্যাশ। এটি সবচেয়ে বড় এবং স্লো, ৪MB থেকে ৫০MB পর্যন্ত স্টোর করে।
ক্যাশ কীভাবে কাজ করে
প্রোগ্রাম শুরু হলে ডেটা RAM থেকে L3 ক্যাশে, তারপর L2, শেষে L1-এ ফ্লো করে। প্রোগ্রাম চলাকালীন CPU প্রয়োজনীয় ইনফরমেশন খুঁজে L1-এ থেকে শুরু করে পিছনে যায়। পাওয়া গেলে "ক্যাশ হিট", না পেলে "ক্যাশ মিস"—তবে কম্পিউটার অন্যথানে খুঁজতে বাধ্য হয়।

লেটেন্সি কম্পিউটার দক্ষতার গুরুত্বপূর্ণ ফ্যাক্টর। লেটেন্সি হলো ইনফরমেশন রিট্রিভ করার সময়। L1 ক্যাশ সবচেয়ে দ্রুত, তাই সবচেয়ে কম লেটেন্সি। ক্যাশ মিস হলে লেটেন্সি বাড়ে কারণ কম্পিউটার বিভিন্ন ক্যাশে খুঁজতে থাকে।
নতুন কম্পিউটারগুলোর ছোট CPU ট্রানজিস্টর সাইজ ক্যাশকে সরাসরি বোর্ডে রাখার জায়গা বানিয়েছে। ফিজিক্যালি ক্যাশ CPU-র কাছাকাছি রাখলে লেটেন্সি কমে।
ক্যাশ এক্সপ্লিসিটলি হাইলাইট করা হয় না, কিন্তু চেক করা উচিত। দ্রুত ক্যাশ = কম লেটেন্সি = প্রোগ্রাম দ্রুত ও দক্ষভাবে রান করে।