آموزشسخت افزار

نحوه کارکرد حافظه کش پردازنده و آشنایی با کش L1، L2 و L3

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

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

حافظه کش پردازنده چیست؟

به زبان ساده، حافظه کش CPU یک نوع حافظه بسیار سریع است. در روزهای اولیه محاسبات، سرعت پردازنده و سرعت حافظه پایین بود. با این حال، در طول دهه 1980، سرعت پردازنده شروع به افزایش کرد. حافظه سیستم در آن زمان (رم) نمی توانست با افزایش سرعت پردازنده مقابله کند یا مطابقت داشته باشد، بنابراین نوع جدیدی از حافظه فوق سریع متولد شد: حافظه کش پردازنده.

اکنون، رایانه شما دارای چندین نوع حافظه در داخل خود است. حافظه اصلی، مانند هارد دیسک یا SSD، بخش عمده ای از داده ها یعنی سیستم عامل و اپلیکیشن ها را ذخیره می کند. در مرحله بعد، “حافظه دسترسی تصادفی” را داریم که معمولاً به عنوان RAM شناخته می شود. این بسیار سریعتر از ذخیره سازی اولیه بوده، اما فقط یک رسانه ذخیره سازی کوتاه مدت است. رایانه شما و اپلیکیشن های آن از رم برای ذخیره داده‌هایی استفاده می‌کنند که اغلب به آنها دسترسی پیدا می‌کنید، و به شما کمک می‌کند تا عملکردهای رایانه‌تان را خوب و سریع نگه دارید.

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

حافظه کامپیوتر نیز انواع مختلفی دارد. حافظه کش نوعی رم استاتیک (SRAM) است، در حالی که رم معمولی سیستم شما به عنوان رم دینامیک (DRAM) شناخته می شود. رم استاتیک می تواند داده ها را بدون نیاز به بروز رسانی مداوم نگهداری کند، برخلاف DRAM که SRAM را برای حافظه کش ایده آل می کند.

کش پردازنده چگونه کار می کند؟

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

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

سطوح حافظه کش پردازنده: L1، L2 و L3

حافظه کش CPU به سه “سطح” تقسیم می شود: L1، L2 و L3. سلسله مراتب حافظه مجدداً بر اساس سرعت و در نتیجه اندازه حافظه کش است. بنابراین، آیا اندازه حافظه کش پردازنده تفاوتی در عملکرد دارد؟

کش L1 

حافظه کش L1 (سطح 1) سریعترین حافظه موجود در یک سیستم کامپیوتری است. از نظر اولویت دسترسی، حافظه کش L1 دارای داده هایی است که CPU به احتمال زیاد در حین انجام یک کار خاص به آن نیاز دارد. اندازه حافظه کش L1 به CPU بستگی دارد. برخی از پردازنده های مصرفی سطح بالا اکنون دارای یک حافظه کش L1 یک مگابایتی هستند، مانند Intel i9-9980XE، اما اینها هزینه زیادی دارند و هنوز هم کم هستند. برخی از چیپست‌های سرور، مانند رنج اینتل زئون، دارای حافظه کش 1 تا 2 مگابایتی L1 هستند.

اندازه کش L1 “استاندارد” وجود ندارد، بنابراین قبل از خرید باید مشخصات CPU را برای تعیین اندازه دقیق حافظه کش L1 بررسی کنید. کش L1 معمولاً به دو بخش تقسیم می شود: کش دستورالعمل و کش داده. کش دستورالعمل به اطلاعات مربوط به عملیاتی می پردازد که CPU باید انجام دهد، در حالی که کش داده ها اطلاعاتی را که قرار است عملیات بر روی آن انجام شود، نگهداری می کند.

کش L2

حافظه کش L2 (سطح 2) کندتر از حافظه L1 بوده اما اندازه آن بزرگتر است. جایی که حافظه کش L1 ممکن است بر حسب کیلوبایت اندازه گیری شود، حافظه کش های مدرن L2 بر حسب مگابایت اندازه گیری می شوند. برای مثال، Ryzen 5 5600X AMD دارای 384 کیلوبایت کش L1 و 3 مگابایت کش L2 (به علاوه 32 مگابایت کش L3) است.

اندازه کش L2 بسته به CPU متفاوت است، اما اندازه آن معمولاً بین 256 کیلوبایت تا 32 مگابایت است. اکثر پردازنده های مدرن بیش از 256 کیلوبایت حافظه کش L2 دارند و این اندازه اکنون کوچک در نظر گرفته می شود. علاوه بر این، برخی از قدرتمندترین پردازنده های مدرن دارای حافظه کش L2 بزرگتر هستند که بسیار بیش از 8 مگابایت است.

اندازه کش L2 بسته به CPU متفاوت است، اما اندازه آن معمولاً بین 256 کیلوبایت تا 32 مگابایت است. اکثر CPUهای مدرن بیش از 256 کیلوبایت حافظه نهان L2 دارند و این اندازه اکنون کوچک در نظر گرفته می شود. علاوه بر این، برخی از قدرتمندترین CPUهای مدرن دارای حافظه نهان L2 بزرگتر هستند که بسیار بیش از 8 مگابایت است. برای مثال، وقتی صحبت از سرعت به میان می‌آید، حافظه کش L2 از حافظه کش L1 عقب است، اما همچنان بسیار سریع‌تر از حافظه رم سیستم شما است. حافظه کش L1 معمولاً 100 برابر سریعتر از رم شما بوده، در حالی که حافظه کش L2 حدود 25 برابر سریعتر است.

کش L3

زمانی که بیشتر پردازنده ها فقط تک هسته‌ای بودند، حافظه کش L3 در واقع بر روی مادربرد پیدا می شد. اکنون، حافظه کش L3 در پردازنده شما می‌تواند عظیم باشد؛ یعنی برخی از پردازنده‌های مصرفی رده بالا دارای حافظه کش  L3 تا 32 مگابایت هستند، در حالی که پردازنده‌های انقلابی AMD Ryzen 7 5800X3D با 96 مگابایت کش L3 عرضه می‌شوند. برخی از حافظه های کش پردازنده L3 سرور می توانند از این مقدار فراتر بروند و تا 128 مگابایت داشته باشند.

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

چه مقدار حافظه کش پردازنده نیاز دارم؟

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

چگونه داده ها بین کش های حافظه پردازنده حرکت می کنند؟

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

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

حافظه کش L1 کمترین تأخیر را دارد و سریعترین و نزدیکترین حافظه به هسته است و L3 بیشترین تأخیر را دارد. زمان تأخیر حافظه کش افزایش می یابد، زیرا CPU باید داده ها را از حافظه سیستم بازیابی کند. با افزایش سرعت و کارایی رایانه ها، تأخیر همچنان کاهش می یابد. رم DDR4 و DDR5 با تاخیر کم و SSDهای فوق سریع تأخیر را کاهش می دهند و کل سیستم شما را سریعتر از همیشه می کنند. در آن، سرعت حافظه سیستم شما نیز مهم است.

منبع
makeuseof
نمایش بیشتر

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

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

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

دکمه بازگشت به بالا