کش CPU دقیقا چیست؟ چرا کش های L1، L2 و L3 وجود دارد؟ در اینجا آنچه شما باید بدانید و چگونه کار می کنند آورده شده است.
پردازنده های کامپیوتری در سال های اخیر بسیار پیشرفت کرده اند. ترانزیستورها هر سال کوچکتر می شوند و پیشرفت ها به نقطه ای می رسد که قانون مور زائد می شود.
وقتی صحبت از پردازندهها میشود، فقط ترانزیستورها و فرکانسها نیستند، بلکه حافظه نهان نیز مهم است.
ممکن است زمانی که در مورد CPU ها (واحدهای پردازش مرکزی) صحبت می شود، درباره حافظه نهان شنیده باشید. با این حال، ما به این اعداد حافظه نهان CPU توجه کافی نداریم، و همچنین این اعداد برجسته اصلی تبلیغات CPU نیستند.
بنابراین، حافظه نهان CPU دقیقاً چقدر مهم است و چگونه کار می کند؟
حافظه کش CPU چیست؟
به زبان ساده، حافظه نهان CPU یک نوع حافظه بسیار سریع است. در روزهای اولیه محاسبات، سرعت پردازنده و سرعت حافظه پایین بود. با این حال، در طول دهه 1980، سرعت پردازنده شروع به افزایش سریع کرد. حافظه سیستم در آن زمان (RAM) نمی توانست با افزایش سرعت CPU مقابله کند یا مطابقت داشته باشد، بنابراین نوع جدیدی از حافظه فوق سریع متولد شد: حافظه نهان CPU.
اکنون، رایانه شما دارای چندین نوع حافظه در داخل خود است.
حافظه اصلی، مانند هارد دیسک یا SSD، بخش عمده ای از داده ها را ذخیره می کند – سیستم عامل و برنامه ها.
در مرحله بعد، “حافظه دسترسی تصادفی” را داریم که معمولاً به عنوان RAM شناخته می شود. این بسیار سریعتر از ذخیره سازی اولیه است اما فقط یک رسانه ذخیره سازی کوتاه مدت است. رایانه شما و برنامههای آن از RAM برای ذخیره دادههایی استفاده میکنند که اغلب به آنها دسترسی پیدا میکنید، و به شما کمک میکند تا عملکردهای رایانهتان را خوب و سریع نگه دارید.
در نهایت، CPU دارای واحدهای حافظه سریع تری است که به نام حافظه پنهان CPU شناخته می شود.
حافظه کامپیوتر بر اساس سرعت عملیاتی آن سلسله مراتبی دارد. حافظه نهان CPU در بالای این سلسله مراتب قرار دارد و سریعترین است. همچنین نزدیکترین مکان به جایی است که پردازش مرکزی انجام می شود، زیرا بخشی از خود CPU است. به گفته Tech Target، “حافظه کش بین 10 تا 100 برابر سریعتر از RAM عمل می کند و برای پاسخ به درخواست CPU تنها به چند نانوثانیه نیاز دارد.”
حافظه کامپیوتر نیز انواع مختلفی دارد.
حافظه کش نوعی رم استاتیک (SRAM) است، در حالی که رم معمولی سیستم شما به عنوان رم دینامیک (DRAM) شناخته می شود. رم استاتیک می تواند داده ها را بدون نیاز به به روز رسانی مداوم نگهداری کند، برخلاف DRAM که SRAM را برای حافظه کش ایده آل می کند.
کش CPU چگونه کار می کند؟
برنامه ها و برنامه های موجود در رایانه شما به عنوان مجموعه ای از دستورالعمل ها طراحی شده اند که CPU آنها را تفسیر و اجرا می کند. هنگامی که یک برنامه را اجرا می کنید، دستورالعمل ها از حافظه اصلی (هارد دیسک شما) به CPU راه پیدا می کنند. اینجاست که سلسله مراتب حافظه وارد عمل می شود.
داده ها ابتدا در RAM بارگذاری می شوند و سپس به CPU ارسال می شوند. CPU ها قادر به انجام تعداد زیادی دستور در ثانیه هستند. برای استفاده کامل از توان خود، CPU نیاز به دسترسی به حافظه فوق سریع دارد، جایی که حافظه پنهان CPU وارد می شود.
کنترلر حافظه داده ها را از رم گرفته و به کش CPU می فرستد. بسته به CPU شما، کنترلر روی CPU یا چیپست Northbridge روی مادربرد شما یافت می شود.
کش حافظه سپس داده ها را در CPU انجام می دهد. سلسله مراتب حافظه در حافظه نهان CPU نیز وجود دارد.
سطوح حافظه کش CPU: L1، L2 و L3
حافظه کش CPU به سه “سطح” تقسیم می شود: L1، L2 و L3. سلسله مراتب حافظه مجدداً بر اساس سرعت و در نتیجه اندازه حافظه پنهان است.
بنابراین، آیا اندازه حافظه پنهان پردازنده تفاوتی در عملکرد دارد؟
L1 Cache
حافظه نهان L1 (سطح 1) سریعترین حافظه موجود در یک سیستم کامپیوتری است. از نظر اولویت دسترسی، حافظه نهان L1 دارای داده هایی است که CPU به احتمال زیاد در حین انجام یک کار خاص به آن نیاز دارد.
اندازه حافظه نهان L1 به CPU بستگی دارد. برخی از CPUهای مصرف کننده سطح بالا اکنون دارای یک حافظه نهان L1 1 مگابایتی هستند، مانند Intel i9-9980XE، اما اینها هزینه زیادی دارند و هنوز هم کم هستند. برخی از چیپستهای سرور، مانند رنج Xeon اینتل، دارای حافظه کش 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 مگابایت است. اکثر CPUهای مدرن بیش از 256 کیلوبایت حافظه نهان L2 دارند و این اندازه اکنون کوچک در نظر گرفته می شود. علاوه بر این، برخی از قدرتمندترین CPUهای مدرن دارای حافظه نهان L2 بزرگتر هستند که بسیار بیش از 8 مگابایت است. مثلا،
وقتی صحبت از سرعت به میان میآید، حافظه نهان L2 از حافظه نهان L1 عقبتر است، اما همچنان بسیار سریعتر از حافظه رم سیستم شما است. حافظه نهان L1 معمولاً 100 برابر سریعتر از RAM شما است، در حالی که حافظه نهان L2 حدود 25 برابر سریعتر است.
L3 Cache
روی حافظه نهان L3 (سطح 3). در روزهای اولیه، حافظه نهان L3 در واقع بر روی مادربرد پیدا شد. این مدتها پیش بود، زمانی که بیشتر CPUها فقط پردازندههای تک هستهای بودند. اکنون، حافظه نهان L3 در CPU شما میتواند عظیم باشد، با CPUهای مصرفکننده سطح بالا دارای حافظه نهان L3 تا 32 مگابایت، در حالی که پردازندههای انقلابی Ryzen 7 5800X3D AMD با 96 مگابایت کش L3 عرضه میشوند. برخی از حافظه های نهان CPU L3 سرور می توانند از این مقدار فراتر بروند و تا 128 مگابایت دارند.
حافظه نهان L3 بزرگترین و در عین حال کندترین واحد حافظه کش است. CPU های مدرن شامل حافظه نهان L3 در خود CPU هستند. اما در حالی که حافظه نهان L1 و L2 برای هر هسته روی خود تراشه وجود دارد، حافظه نهان L3 بیشتر شبیه یک مخزن حافظه عمومی است که کل تراشه می تواند از آن استفاده کند.
تصاویر زیر سطوح حافظه نهان CPU را برای یک CPU Intel Core i5-3570K که در سال 2012 راه اندازی شد و یک CPU AMD Ryzen 5800X که هشت سال بعد، در سال 2020 راه اندازی شد، نشان می دهد. داده های حافظه نهان CPU در گوشه سمت راست پایین تصویر دوم است.
توجه داشته باشید که چگونه حافظه نهان L1 به دو قسمت تقسیم می شود، در حالی که L2 و L3 به ترتیب در هر دو CPU بزرگتر هستند؟ با این حال در AMD Ryzen 5800X، حافظه نهان L3 بیش از پنج برابر بزرگتر از Intel i5-3570K است.
چه مقدار حافظه کش CPU نیاز دارم؟
سوال خوبی است. همانطور که انتظار دارید بیشتر بهتر است. جدیدترین CPU ها طبیعتاً دارای حافظه کش CPU بیشتری نسبت به نسل های قدیمی تر هستند و همچنین حافظه کش بالقوه سریع تری نیز دارند. یکی از کارهایی که می توانید انجام دهید این است که یاد بگیرید چگونه CPU ها را به طور موثر مقایسه کنید. اطلاعات زیادی در آنجا وجود دارد و یادگیری نحوه مقایسه و مقایسه CPU های مختلف می تواند به شما در تصمیم گیری صحیح برای خرید کمک کند.
طراحی حافظه کش همیشه در حال پیشرفت است، به خصوص که حافظه ارزانتر، سریعتر و متراکمتر میشود. به عنوان مثال، یکی از جدیدترین نوآوری های AMD، حافظه دسترسی هوشمند و حافظه نهان بی نهایت است که هر دو باعث افزایش عملکرد می شوند.
چگونه داده ها بین کش های حافظه CPU حرکت می کنند؟
سوال بزرگ: حافظه کش CPU چگونه کار می کند؟
در ابتدایی ترین شرایط، داده ها از RAM به حافظه نهان L3، سپس L2 و در نهایت، L1 جریان می یابد. هنگامی که پردازنده به دنبال داده ای برای انجام یک عملیات است، ابتدا سعی می کند آن را در حافظه نهان L1 پیدا کند. اگر CPU آن را پیدا کند، شرایط را ضربه کش می گویند. سپس آن را در L2 و سپس L3 پیدا می کند.
اگر CPU داده ها را در هیچ یک از کش های حافظه پیدا نکرد، سعی می کند از حافظه سیستم شما (RAM) به آن دسترسی پیدا کند. هنگامی که این اتفاق می افتد، به عنوان خطای حافظه پنهان شناخته می شود.
اکنون همانطور که می دانیم حافظه نهان برای افزایش سرعت رفت و برگشت اطلاعات بین حافظه اصلی و CPU طراحی شده است. زمان مورد نیاز برای دسترسی به داده ها از حافظه را «تاخیر» می گویند.
حافظه نهان L1 کمترین تأخیر را دارد، سریعترین و نزدیکترین حافظه به هسته است و L3 بیشترین تأخیر را دارد. زمان تأخیر حافظه نهان افزایش می یابد، زیرا CPU باید داده ها را از حافظه سیستم بازیابی کند.
با افزایش سرعت و کارایی رایانه ها، تأخیر همچنان کاهش می یابد. رم DDR4 و DDR5 با تاخیر کم و SSDهای فوق سریع تأخیر را کاهش می دهند و کل سیستم شما را سریعتر از همیشه می کنند. در آن، سرعت حافظه سیستم شما نیز مهم است.
سرعت حافظه پنهان CPU توضیح داده شده است
اندازه حافظه پنهان CPU و سرعت آن برای عملکرد کلی رایانه شما مهم است. مانند بسیاری از مسائل مربوط به سخت افزار کامپیوتر، بیشتر بهتر است، و همیشه سریعتر انتخاب هوشمندانه است.
با این حال، هنگام خرید یک CPU جدید، نباید اجازه دهید حافظه پنهان CPU به گزینه نهایی تصمیم گیری تبدیل شود. مطمئنا، بیشتر و سریعتر بهتر است، اما باید سایر عوامل مهم عملکرد CPU مانند تعداد هسته ها، سرعت کلاک CPU و غیره را نیز در نظر بگیرید.