![কিভাবে একটি কম্পিউটারের CPU ক্যাশে কাজ করে](/article/uploadfiles/202204/2022040909404691.jpg)
1980-এর দশকে মেমরি অ্যাক্সেসের সময়ের তুলনায় মাইক্রোপ্রসেসরের গতি দ্রুতগতিতে বৃদ্ধি পায়। এটি দ্রুত স্পষ্ট হয়ে ওঠে যে মেমরি অ্যাক্সেস করা যায় এবং পুরো সিস্টেমটিকে আরও দক্ষ করে তোলার গতির উন্নতি করতে কিছু করতে হবে। প্রক্রিয়াকরণের গতি এবং মেমরির গতির মধ্যে এই পার্থক্যগুলি ক্যাশের বিকাশের দিকে পরিচালিত করে।
ক্যাশে কি
ক্যাশে আবিষ্কার কম্পিউটার বিজ্ঞানের ইতিহাসে সবচেয়ে সমালোচনামূলক ঘটনাগুলির মধ্যে একটি। কিন্তু ক্যাশে আসলে কি? এটা কিভাবে কাজ করে?
এর মৌলিক স্তরে একটি ক্যাশে একটি দ্রুত ধরনের মেমরি। এটিতে মেমরির একটি ছোট পুল রয়েছে যার মধ্যে নির্দেশাবলী রয়েছে যা একটি নির্দিষ্ট কাজ সম্পাদন করার সময় কম্পিউটারের সম্ভবত পরবর্তীতে প্রয়োজন হবে। কম্পিউটার জটিল অ্যালগরিদম এবং প্রোগ্রামিং কোডের জ্ঞান ব্যবহার করে সেই তথ্য ক্যাশে লোড করে। কম্পিউটারে একটি ক্যাশে সিস্টেম থাকার উদ্দেশ্য হল সিপিইউ-এর প্রয়োজনীয় ডেটাতে নিরবচ্ছিন্ন অ্যাক্সেস আছে কিনা তা নিশ্চিত করা।
এটি কীভাবে কাজ করে তা দেখতে আপনাকে জানতে হবে যে কম্পিউটারে তিন ধরনের মেমরি থাকে। প্রথমে হার্ড ড্রাইভ বা এসএসডিতে পাওয়া প্রাথমিক মেমরি আছে। এটি মেশিনে মেমরির সবচেয়ে বড় ভান্ডার। তারপরে রয়েছে র্যাম বা র্যান্ডম অ্যাক্সেস মেমরি, যা প্রাথমিক মেমরি ডিভাইসের চেয়ে দ্রুত, কিন্তু ছোট। সবশেষে, CPU-এর মধ্যেই মেমরি ইউনিট রয়েছে, যা ক্যাশে নামে পরিচিত। ক্যাশে সব মেমরি প্রকারের মধ্যে দ্রুততম।
যখন একটি প্রোগ্রাম চালু হয়, সেই প্রোগ্রামটি প্রোগ্রামের কোডে পাওয়া নির্দেশাবলীর একটি সিরিজ কার্যকর করতে শুরু করে। সেই তথ্যটি প্রথমে RAM এ লোড হয় এবং তারপর CPU-তে চলে যায়। নির্দেশাবলী সম্পাদন করার জন্য ডেটা সর্বোত্তমভাবে ব্যবহার করার জন্য, CPU-এর একটি উচ্চ-গতির মেমরি প্রয়োজন। সেখানেই ক্যাশে আসে৷
৷ক্যাশের স্তরগুলি
CPU-এর মধ্যে, ক্যাশের তিনটি ভিন্ন স্তর রয়েছে:L1, L2 এবং L3। কিছু কোম্পানি এমনকি একটি L4 ক্যাশে কাজ করছে৷
৷L1 ক্যাশে তিনটির মধ্যে দ্রুততম এবং ক্ষুদ্রতম। এটিতে এমন ডেটা রয়েছে যা CPU-র অপারেশন সম্পাদনের জন্য সবচেয়ে বেশি প্রয়োজন। L1 সাধারণত 256KB ধারণ করে, যদিও কেউ কেউ এটিকে 1MB পর্যন্ত পুশ করেছে।
এই ছোট ক্যাশটির একটি দ্বৈত উদ্দেশ্য রয়েছে, একটি নির্দেশ ক্যাশে এবং একটি ডেটা ক্যাশে উভয়ই রয়েছে৷ নির্দেশের ক্যাশে CPU-কে যে ক্রিয়াকলাপগুলি সম্পাদন করতে হয় তার সাথে সম্পর্কিত, এবং ডেটা ক্যাশে সেই তথ্য ধারণ করে যার উপর প্রক্রিয়াটি করতে হবে৷
এর পরে, L2 ক্যাশে আছে। L2 ধীর এবং L1 এর চেয়ে বেশি তথ্য ধারণ করে। এটিতে 256K এবং 8MB ডেটা রয়েছে যা কম্পিউটারের সম্ভবত পরবর্তীতে অ্যাক্সেস করতে হবে৷
সবশেষে, আমরা L3 ক্যাশে দেখতে পাই। এটি সর্ববৃহৎ এবং ধীরগতির ক্যাশে, 4MB থেকে 50MB পর্যন্ত যে কোনো জায়গায় সঞ্চয় করে৷
ক্যাশে কিভাবে কাজ করে
আপনার কম্পিউটারে একটি প্রোগ্রাম শুরু হলে, RAM থেকে L3 ক্যাশে, তারপর L2 এবং অবশেষে L1-এ ডেটা প্রবাহিত হয়। প্রোগ্রামটি চলাকালীন, CPU এটি চালানোর জন্য প্রয়োজনীয় তথ্য খোঁজে, L1 ক্যাশে থেকে শুরু করে এবং সেখান থেকে পিছনের দিকে কাজ করে। যদি CPU প্রয়োজনীয় তথ্য খুঁজে পায়, এটিকে ক্যাশে হিট বলা হয়। যদি এটি তার প্রয়োজনীয় তথ্য খুঁজে না পায় তবে এটি একটি ক্যাশে মিস, এবং কম্পিউটারকে তার প্রয়োজনীয় তথ্য খুঁজে পেতে অন্য কোথাও যেতে হবে৷
কম্পিউটারের দক্ষতার ক্ষেত্রে লেটেন্সি একটি গুরুত্বপূর্ণ ফ্যাক্টর। লেটেন্সি হল তথ্যের একটি অংশ পুনরুদ্ধার করার জন্য প্রয়োজনীয় সময়। L1 ক্যাশে দ্রুততম, এবং তাই এটির লেটেন্সি সবচেয়ে কম। যখন একটি ক্যাশে মিস হয়, তখন লেটেন্সি বাড়ে কারণ কম্পিউটারকে তার প্রয়োজনীয় তথ্য খুঁজে পেতে বিভিন্ন ক্যাশে অনুসন্ধান চালিয়ে যেতে হবে।
নতুন কম্পিউটারে অনেক ছোট সিপিইউ ট্রানজিস্টরের আকার রয়েছে যা এটিকে সরাসরি ক্যাশে রাখার জন্য আরও বেশি ঘর সহ একটি বোর্ড তৈরি করা সম্ভব করেছে। শারীরিকভাবে ক্যাশে CPU এর কাছাকাছি রাখলে লেটেন্সি কমে যায়।
যদিও ক্যাশে এমন কিছু নয় যা যারা কম্পিউটার বিক্রি করে তারা প্রায়শই নির্দেশ করে, এটি পরীক্ষা করা মূল্যবান। দ্রুত ক্যাশে কম লেটেন্সি থাকবে, যার ফলে আপনার প্রোগ্রামগুলি দ্রুত এবং আরও দক্ষতার সাথে চলবে৷