حافظه کش (cache memory) چیست؟ 3 لایه‌ی مهم آن

حافظه کش (cache memory) چیست؟ 3 لایه‌ی مهم آن

حافظه کش یک حافظه پنهان است که برای از بین بردن تاخیر زمان پردازشی که در میان حافظه رم کامپیوتر و پردازنده وجود دارد مورد استفاده قرار می‌گیرد. این حافظه نسبت به دیگر حافظه‌هایی که در کامپیوتر وجود دارد هم از سرعت بیشتری برخوردار است و هم ظرفیت کمتری دارد.

به عنوان مثال ما اگر پردازنده‌ای را به عنوان مدیر عامل یک شرکت در نظر بگیریم، حافظه کش را باید منشی آن مدیر عامل قلمداد کرد. منشی با ساماندهی و برنامه‌ریزی مرتبی که برای چگونگی انجام کارهای رئیس در نظر می‌گیرد، سبب می‌شود هم کارها به خوبی پیش رود و هم در زمان رئیس صرفه جویی شود. حافظه نهان به یک نوع از حافظه SRAM یا DRAM گفته می‌شود.

وقتی که پردازنده درخواست خواندن محتوا را از حافظه دارد، در قدم اول محتویات حافظه کش سیستم مورد برسی قرار خواهد گرفت، زمانی که در حافظه کش سیستم داده‌های مورد نظر وجود داشته باشند با وجود این عامل دیگر نیازی به دسترسی به حافظه رم سیستم نخواهد بود و این پروسه باعث خواهد شد تا سرعت فرآیند افزایش پیدا کند.

مکان‌یابی درحافظه کش چیست

مکان‌یابی به قابلیتی گفته می‌شود که با استفاده از آن می‌توان عملکرد رایانه را بر مفهموم مکان‌یابی بهینه کرد، این قابلیت باعث توضیح دادن شرایط گوناگونی می‌شود، این عمر سبب خواهد شد سامانه به صورت بهتری مورد پیش بینی قرار گیرد. در واقع زمانی که یک داده به صورت همیشگی ذخیره شود به یک الگو بدل خواهد شد تا حافظه به آن بهتر دسترسی داشته باشد و در این وضعیت حافظه کش به شکل بهتری بر روی آن تکیه خواهد کرد.

انواع حافظه کش

با توجه به اینکه حافظه کش به صورت لایه‌بندی، از داده‌ها نگهداری می‌کند از یک ساختار سلسله مراتبی تشکیل شده است که عبارتست از:

L1- لایه اولی کش

این نوع از کش که کمترین زمان وقفه، کمترین ظرفیت و بیشترین سرعت را دارد حافظه کش نوع L1 است، در واقع اصلیترین کش پردازنده محسوب می‌شود و محل قرار گیری آن در داخل پردازند می‌باشد. شکل طراحی L1 به این گونه است که برای هر کدام از هسته‌ها به صورت جداگانه طراحی شده، حجم مورد استفاده کش لایه اولی برای هر کدام از هسته‌ها تقریبا در حد کیلوبایت است، زمانی که قرار است کش L1 پیاده سازی شود از STATIC RANDOM-ACCESS MEMORY استفاده می‌شود.

L2- لایه کش دومی

این کش در لایه دوم قرار دارد و روش کار آن بدین شکل است که اگر هیچ گونه داده‌ای در سطح اول کش شناسایی نشد، برای پیدا کردن داده‌ها لایه دوم مورد جستجو قرار می‌گیرد و به همین شکل لایه‌های بعدی شناسایی می‌شوند. با توجه به اینکه هر لایه از کش در مقایسه با لایه کش قبلی از سرعت کمتر و ظرفیت بیشتری برخوردار است، لایه کش دومی نیز از ظرفیت بالاتری نسبت به لایه کش اولی برخوردار است، اما در مقایسه با لایه کش اولی از سرعت کمتری برخوردار است.

این نوع از لایه کش‌ها امروزه در داخل پردازنده() قرار دارند و برای هر کدام از هسته‌ها به صورت جداگانه است. حجم مورد استفاه کش لایه دوم برای هر کدام ازهسته‌ها چیزی حدود چند صد کیلوبایت است، در زمان پیاده سازی لایه کش دومی از DYNAMIC RANDOM-ACCESS MEMORY استفاده خواهد شد. 

L3- لایه کش سومی

لایه کش سومی را باید مرحله سوم برای پیدا کردن داده‌ها محسوب کرد، زمان جستجوی خودش را وقتی که لایه کش دومی قادر به پیدا کردن داده‌ها نبود شروع خواهد کرد، این لایه دارای ظرفیت زیادتر و سرعت کمتری نسبت به کش لایه دوم می‌باشد. جلوگیری از تشکیل شدن گلوگاه BOTTLENECK در سیستم از وظایفی است که L3 برعهده دارد، اکثر پردازند‌هایی که امروز وجود دارند از این نوع کش لایه به عنوان یک لایه اشتراکی برای تمامی هسته‌ها استفاده می‌کنند. حجم استفاده شده در کش لایه سوم نسبت به دیگر لایه‌ها بیشتر است و تقریبا برای کل پردازنده در حدود چند مکابایت است.

سخن پایانی

سوالی که شاید برای خیلی از کاربران پیش آمده باشد این است که این حافظه Cache در کدام قسمت سیستم شما مستقر است؟ باید بگویم که این حافظه در داخل پردازنده یا همان (cpu) سیستم قرار دارد و در برگیرنده بخش وسیع و بزرگی از پردازنده می‌باشد. به صورت کلی هر چقدر یک پردازنده از حافظه کش بیشتری برخوردار باشد، این موضع به منزله این است که قدرت پردازنده زیادتر بوده و پردازنده قویتر است. با توجه به این موضوع باید در زمان انتخاب سیستم مورد نیازتان دقت لازم را داشته باشید که سیستم مورد نظر داری بالاترین مقدار حافظه کش باشد.

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.