وقتی درباره حافظه کامپیوتر فکر می کنید، بیشتر ذهن شما به سمت ماژولهای رم RAM، حافظه VRAM کارت گرافیک و یا به طور عموم حافظه های ذخیره سازی مانند HDD و SSD خواهد رفت. اما در واقع نوع دیگری از حافظه وجود دارد که سرعت فوق العاده بالایی دارد که برای کامپیوتر های مدرن و سرعتی که به کاربر ارائه می دهد بسیار ضروری می باشد. ما درباره حافظه کش Cache پردازنده صحبت میکنیم. کش حافظه ای اختصاصی موقت می باشد که در CPU تعبیه شده است. حتما می پرسید آیا پردازنده به یک حافظه شبیه به رم درون خود نیاز دارد؟ آیا حافظه رم برای سرعت بخشیدن به پردازنده کافی نیست؟ حافظه های RAM از نظر انتقال داده بسیار سریعتر از هارد دیسک عمل می کند، اما CPU در واقع داده ها را بسیار سریعتر از آنچه حافظه رم RAM ارائه میکند، انجام می دهد. علاوه بر آن پردازنده های مرکزی CPU در سالهای اخیر در انتقال داد ها بسیار سریعتر شده اند به این معنی که بدون حافظه ای سریعتر، CPU شما باید منتظر حافظه رم برای انجام انتقال اطلاعات بماند و هیچ کاری نکند و این عمل باعث ایجاد گلوگاه در پردازش می شود و عملا سرعت پردازش بشدت پایین می آید.  برای حل این مشکل حافظه کش وارد عمل می شود، بر خلاف حافظه سیستم که از رم پویا یا DRAM (Dynamic RAM) تشکیل شده است، حافظه پنهان یا همان کش پردازنده به صورت Static RAM یا همان حافظه رم ثابت SRAM تولید شده است که بسیار گرانتر و همچنین فضای بیشتری را نیز اشغال می کند، این نوع حافظه ها بسیار سریعتر از DRAM هستند چرا که حافظه SRAM برخلاف DRAM، نیازی به رفرش شدن دائمی برای نگهداری اطلاعات داده ها ندارد.  پردازنده مرکزی CPU به طور متوسط فقط چند مگابایت حافظه کش دارد، اما از این مقدار کم استفاده فوق العاده ای می کند.  

ترتیب استفاده از کش

پردازنده وقتی مقداری از رم اصلی سیستم شما دسترسی پیدا میکند، معمولا آن را در حافظه کش خود ذخیره میکند و سپس از الگوریتم های پیچیده ای برای حدس زدن دستورالعمل ها یا داده های کاربر که در مرحله بعد به آن نیاز دارد استفاده می کند که این مراحل همانطور که گفتیم CPU از حافظه اصلی RAM شما دریافت میکند، چرا که پردازنده دقیقا نمیتواند حدس بزند که دستور بعدی چگونه خواهد بود، این مشکل را به اصطلاح Cache Miss می گویند، در واقع این مشکل موقعی به وجود می آید که CPU شما قدر نیست اطلاعاتی که کاربر ارسال کرده را در حافظه CHACHE پیدا کند و باید مستقیما به حافظه سیستم شما که همان RAM است دسترسی داشته باشد و در نتیجه این کار سرعت را کاهش می دهد.  خوشبختانه، پردازنده های مدرن در حدس و تصمیم گیری برای قرار دادن اطلاعات در حافظه پنهان خود بسیار خوب عمل می کنند، چرا که معمولا نرخ ضریب حافظه پنهانی بالاتر از 80 درصد را در اختیار دارند. به این معنی که اکثر اوقات CPU فقط در حال پردازش داده هایی است که در حافظه کش خود پیدا کرده است و نیازی به حافظه رم کم سرعت سیستم ندارد، با این تفاسیر پی بردیم که حافظه کش یا همان حافظه پنهان بسیار مفید است. دقت داشته باشید منظور ما از کم سرعت بودن حافظه رم صرفا در مقایسه با حافظه کش است.

هنگامی که به صفحه اطلاعات یک پردازند نگاه می کنید حافظه های کش به سه سطح 1، 2 و 3 تقسیم و نشان داده می شوند. کش سطح 1 معمولا بخشی از خود تراشه CPU است که از نظر ابعاد کوچکترین سطح به شمار می رود و همچنین سریعترین دسترسی را نیز در اختیار دارد که مقدار حافظه آن نیز اغلب بین 8 کیلوبایت تا 64 کیلوبایت محدود می شود. کش های سطح دو و سه بزرگتر هستند و حافظه بیشتری را نیز در اختیار دارند و خب باید گفت که سرعت کش، بخصوص Level 3 سطح سه که به اختصار L3 نوشته می شود کمتر از دو سطح قبلی است. پس به طور خلاصه تفاوت اصلی بین حافظه کش L1 L2 و L3 در این است که کش L1 سریعترین حافظه پنهان به شمار می رود و کش L3 کندترین حافظه، در حالی که کش L2 کندتر از کش L1 اما سریعتر از کش L3 می باشد.

حافظه پنهان

کش به زبان ساده

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

آیا کش بالا برای گیمینگ مناسب است؟

اگر قصد خرید سیستم گیمینگ دارید، شاید بپرسید که آیا پردازنده با حافظه کش بالا نیاز است یا خیر؟ اگر به صورت کلی بخواهیم پاسخ این سوال را بدهیم باید بگویم که حافظه کش در گیمینگ از اهمیت بالایی برخوردار نیست و نباید هنگام خرید سیستم گیمینگ اولویت شما قرار بگیرد. حافظه کش برای پردازش سریع در نرم افزارهای رندرینگ بیشتر نمایان می شود. پس اگر به دنبال خرید سیستم رندرینگ هستید میتوانید روی پردازنده هایی با کش بالا حساب باز کنید و از سرعت کش آن برای رندر و عملکرد بالا استفاده کنید. به طور کلی حافظه کش 16 مگابایتی سطح سه (L3) کاملا میتواند برای یک سیستم گیمینگ کافی باشد.

جمع بندی

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