حافظه کش چیست؟
حافظه کش (CACHE) یا حافظه نهان نوعی از حافظۀ SRAM یا DRAM است که برای جلوگیری از تأخیر زمان پردازش بین پردازنده و حافظۀ رم کامپیوتر استفاده میشود. حافظه کش معمولاً ظرفیت کمتر و سرعت بیشتری نسبت به دیگر حافظههای مورداستفاده در کامپیوتر دارد. کش دقیقاً مانند یک منشی خوب است که کارهای رئیسش را سازماندهی میکند تا کمترین وقت از او تلف شود. پردازنده در جایگاه همین رئیس است.
زمانی که پردازنده از حافظه درخواست خواندن دارد، ابتدا محتویات حافظه کش سیستم بررسی میشود. اگر دادۀ مدنظر در حافظه CACHE سیستم وجود داشته باشد، دیگر نیازی به دسترسی به حافظۀ رم وجود ندارد و به این ترتیب، سرعت فرآیند بیشتر خواهد شد.
حافظه کش در کامپیوتر کجاست؟
شاید برایتان سوال پیش آمده باشد که حافظه CACHEکجای سخت افزار کامپیوتر قرار دارد و چرا در زمان خرید کامپیوتر حافظه کش را خریداری نمیکنیم؟
حافظه کش عموماً درون دل پردازنده یا CPU قرار دارد و بخش بزرگی از پردازنده را در اختیار خودش گرفته است. پس حافظه CACHE چیزی نیست که بخواهید به صورت جداگانه از فروشگاه خریداری کنید و باید هنگام انتخاب پردازنده به اون دقت کنید. سرعت حافظه کش حتی از حافظۀ رم نیز بیشتر است و گرانترین نوع حافظه نیز بهشمار میرود. پس بهدلیل هزینۀ سنگین و محدودیت فضای فیزیکی پردازنده، نمیتوان مقدار زیادی از این نوع حافظه را درون پردازنده قرار داد. البته با پیشرفت تکنولوژی و کوچکتر شدن انواع حافظه، هر روز بر مقدار این نوع حافظه در پردازنده افزوده میشود.
بهطور کلی هرچه مقدار حافظۀ کش یک پردازنده بیشتر باشد، بدین معنی است که آن پردازنده قویتر است.
پس در هنگام انتخاب پردازنده دقت کنید که بالاترین مقدار حافظۀ کش را داشته باشد.
انواع حافظۀ کش
حافظۀ کش انواع مختلف و ساختاری سلسلهمراتبی دارد. حافظۀ کش در واقع بهصورت لایهبندیشده از دادهها نگهداری میکند. در حال حاضر، کش در انواع L1 و L2 و L3 وجود دارد. L بهمعنی لایه (LEVEL) و عدد جلوی آن مشخصکنندۀ نوع کش است.
کش لایه اول L1
حافظۀ کش از نوع L1 را کش اصلی پردازنده میگویند که بیشترین سرعت، کمترین ظرفیت و کمترین زمان وقفه (DELAY) (تقریباً صفر) را داراست. برای پیادهسازی کش L1 از STATIC RANDOM-ACCESS MEMORY) SRAM) استفاده میشود.
این نوع حافظۀ کش عموماً درون پردازنده قرار دارد و برای هر هسته بهصورت جداگانه طراحی شده است. حجم آن برای هر هسته در حد کیلوبایت است؛ مثلاً ۳۲ کیلوبایت.
کش لایه دوم L2
نوع دوم کش را کش لایۀ دوم یا L2 میگویند.
قانون کش در سیستم لایهبندی بدینگونه است که اگر دادهها در سطح اول کش پیدا نشوند، لایۀ دوم جستوجو میشود و به همین ترتیب لایههای بعدی. هر لایه از کش در مقایسه با لایۀ قبل، ظرفیت بیشتر و سرعت کمتر دارد. پس کش لایۀ دوم ظرفیتی بیشتر از کش لایۀ اول دارد؛ ولی سرعتش پایینتر است.
حافظۀ کش لایۀ دو با استفاده از DYNAMIC RANDOM-ACCESS MEMORY) DRAM) پیادهسازی میشود. امروزه این نوع کش نیز درون پردازنده قرار میگیرد و برای هر هسته بهصورت جداگانه است. حجم آن برای هر هسته در حد چندصد کیلوبایت است؛ مثلاً ۲۵۶ کیلوبایت.
کش لایه سوم L3
نوع سوم کش را کش لایۀ سوم یا L3 میگویند.
اگر دادهای در لایۀ دوم کش پیدا نشود، لایۀ سوم جستوجو میشود. لایۀ سوم سرعت پایینتر و ظرفیت بیشتری نسبت به لایۀ دوم کش دارد. در بیشتر پردازندههای امروزی این نوع کش بهصورت یک لایۀ اشتراکی برای تمام هستهها استفاده میشود و کار آن جلوگیری از ایجاد گلوگاه (BOTTLENECK) در سیستم است. حجم این لایه از دیگر لایهها بیشتر و در حدود چند مگابایت برای کل پردازنده است؛ مثلاً ۸ یا ۱۶ مگابایت.
مشاهده مقدار حافظه کش در CPU
در شکل زیر میتوانید انواع حافظه کش را در پردازنده CORE I7 4702MQ مشاهده کنید. این عکس توسط نرمافزار CPUZ یا CPUID تهیه شده است. شما هم میتوانید این نرمافزار رایگان را دریافت و میزان حافظه کش کامپیوتر خودتان را ببینید.
برای دانلود نرمافزار CPUID به آدرس زیر مراجعه کنید:
HTTPS://WWW.CPUID.COM/SOFTWARES/CPU-Z.HTML
کش هوشمند
کش هوشمند تکنولوژی منحصربهفرد اینتل است که در پردازندههای جدید خود از آن استفاده میکند. در این فنآوری، مقدار حافظۀ کش لایۀ دوم و لایۀ سوم را برای هر هستۀ پردازنده بهصورت اشتراکی در نظر گرفتهاند. اگر یک هسته در حال پردازشی باشد که به مقدار بیشتری کش نیاز دارد، آن هسته مجاز است تا حداکثر کل فضای کش لایۀ دو و سه را برای پردازش خود استفاده کند؛ البته در صورتی که هستههای دیگر نیازی به کش مدنظر نداشته باشند. در پردازندههای جدید اینتل، شما فقط عددی را بهعنوان کش هوشمند مشاهده میکنید و مقدار کش هریک از لایههای دو و سه بهطور جداگانه مشخص نشده است.
نکته:
پردازندههای اینتل بیشتر از پردازندههای ایامدی (AMD) به حافظۀ کش وابستهاند و به همین دلیل، همیشه مقدار بیشتری از این نوع حافظه درون پردازندههای اینتل بهکار میرود.
پس کار درستی نیست که دو پردازندۀ اینتل و ایامدی را بر اساس حافظۀ کش با یکدیگر مقایسه کنید. هرکدام را باید با همنوع خود مقایسه کرد.