مجله ژینکو

حافظه کش Cache چیست ؟

حافظه کش (CACHE) یا حافظه نهان نوعی از حافظۀ SRAM یا DRAM است که برای جلوگیری از تأخیر زمان پردازش بین پردازنده و حافظۀ رم کامپیوتر استفاده می‌شود. حافظه کش معمولاً ظرفیت کمتر و سرعت بیشتری نسبت به دیگر حافظه‌های مورداستفاده در کامپیوتر دارد.

کش دقیقاً مانند یک منشی خوب است که کارهای رئیسش را سازمان‌دهی می‌کند تا کمترین وقت از او تلف شود. پردازنده در جایگاه همین رئیس است.

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

حافظه کش در کامپیوتر کجاست؟

شاید برایتان سوال پیش آمده باشد که حافظه CACHE کجای سخت افزار کامپیوتر قرار دارد و چرا در زمان خرید کامپیوتر حافظه کش را خریداری نمی‌کنیم؟

حافظه کش عموماً درون دل پردازنده یا CPU قرار دارد و بخش بزرگی از پردازنده را در اختیار خودش گرفته است. پس حافظه CACHE چیزی نیست که بخواهید به صورت جداگانه از فروشگاه خریداری کنید و باید هنگام انتخاب پردازنده به اون دقت کنید.

سرعت حافظه کش حتی از حافظۀ رم نیز بیشتر است و گران‌ترین نوع حافظه نیز به‌شمار می‌رود. پس به‌دلیل هزینۀ سنگین و محدودیت فضای فیزیکی پردازنده، نمی‌توان مقدار زیادی از این نوع حافظه را درون پردازنده قرار داد. البته با پیشرفت تکنولوژی و کوچک‌تر شدن انواع حافظه، هر روز بر مقدار این نوع حافظه در پردازنده افزوده می‌شود.

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

انواع حافظه پنهان (کش) سی‌پی‌یو

حافظه پنهان یا کش در سه سطح تعریف می‌شود:

  • حافظه پنهان سطح یک (L1 cache)
  • حافظه پنهان سطح دو (L2 cache)
  • حافظه پنهان سطح سه (L3 cache)

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

حافظه کش Cache

حافظه پنهان سطح یک (L1 cache)

حافظه پنهان L1 نزدیک‌ترین کش به سی‌پی‌یو و درنتیجه سریع‌ترین آن‌هاست. کش L1 معمولا روی خود سی‌پی‌یو تعبیه می‌شود. سی‌پی‌یو ابتدا به حافظه پنهان L1 مراجعه می‌کند و اگر داده‌های موردنیاز خود را در آن‌جا نیافت، سراغ حافظه پنهان L2 می‌رود. کش L1 سریع‌تر از کش L2 و L3 اما ظرفیتش محدودتر از آن‌ها و معمولا کمتر از یک مگابایت است. در پردازنده‌های چندهسته‌ای معمولا هر هسته‌، حافظه پنهان سطح یک (L1 cache) مخصوص خود را دارد. در برخی پردازنده‌ها حافظه پنهان L2 نیز اختصاصی است اما تقریبا در همه پردازنده‌ها حافظه کش L3 بین همه هسته‌ها مشترک است.

حافظه پنهان سطح دو (L2 cache)

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

حافظه پنهان سطح سه (L3 cache)

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


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


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *