کش CPU چیست و آیا مهم است؟
با توجه به اینکه محصولاتی مانند Ryzen 7 5800X3D برنده تاج به عنوان بهترین CPU بازی شده است، احتمالاً از خود میپرسید که حافظه پنهان CPU چیست و چرا در وهله اول اینقدر مهم است. ما قبلاً می دانیم که پردازنده های Ryzen 7000 آینده AMD و پردازنده های Raptor Lake نسل سیزدهم اینتل بر روی حافظه کش بیشتر تمرکز خواهند کرد و نشان می دهد که این یک مشخصات حیاتی در آینده خواهد بود.
اما آیا به حافظه نهان CPU اهمیت می دهید؟ ما به این موضوع می پردازیم که حافظه پنهان CPU چیست، چرا اینقدر مهم است و چگونه می تواند تفاوت بزرگی ایجاد کند اگر در حال بازی هستید.
کش CPU چیست؟
کش مقدار حافظه ای است که در خود پردازنده وجود دارد، در هسته های جداگانه ادغام شده یا بین برخی یا همه هسته ها به اشتراک گذاشته شده است. این قطعه کوچکی از حافظه اختصاصی است که مستقیماً روی CPU زندگی می کند، بنابراین CPU شما مجبور نیست هر بار که می خواهید کاری را در رایانه خود انجام دهید، اطلاعات را از RAM سیستم شما دریافت کند. هر پردازنده مقدار کمی کش دارد، با پردازنده های کوچکتر شاید تنها چند کیلوبایت باشد، در حالی که پردازنده های بزرگ می توانند چندین مگابایت کش داشته باشند.
اما ممکن است از خود بپرسید که چرا حتی زمانی که ما RAM داریم به کش نیاز است، به خصوص زمانی که یک RAM می تواند چندین گیگابایت حافظه داشته باشد. همه چیز در مورد اعدام است. در دهه 1990، سرعت بهبود عملکرد بین CPU و RAM آشکار شد. به هر حال، طراحان CPU روی افزایش سرعت تمرکز داشتند، در حالی که طراحان RAM می خواستند ظرفیت را افزایش دهند و سرعت را نادیده گرفتند. برای طراحان CPU، این یک مشکل بود، زیرا سرعت RAM یک عامل حیاتی در عملکرد CPU برای بسیاری از برنامهها است و هر چه شکاف CPU-RAM بزرگتر شود، بهبود عملکرد دشوارتر خواهد بود.
پول نقد راه حل بود. اگرچه حافظه نهان در مقایسه با RAM ظرفیت کمی دارد، اما سرعت بالای آن در بیشتر موارد آن را جبران می کند. با این حال، حافظه پنهان کامل نیست. ضعف اصلی آن اندازه است. حافظه پنهان از نظر فیزیکی نسبت به مقدار کمی که می تواند ذخیره کند، بزرگ است. حافظه نهان همچنین در برابر انقباض گره مقاوم است، بنابراین در حالی که هسته ها و سایر اجزای یک پردازنده می توانند به راحتی از یک نسل به نسل دیگر کوچک شوند، حافظه نهان بسیار کمتر کوچک می شود. این باعث می شود کش به یک جزء CPU بسیار گران قیمت تبدیل شود، که یکی از دلایل اصلی این است که کش معمولاً فضای ذخیره سازی کمی دارد.
کش چگونه کار می کند؟
پذیرش جریان اصلی حافظه نهان منجر به پیادهسازیهای ظریفتری از کش و رم شد، تا اینکه به سلسله مراتب حافظه رسیدیم، با کش در بالا، رم در وسط و حافظه در پایین. این رویکرد لایهای اجازه میدهد تا دادههای حیاتی CPU از نظر فیزیکی به CPU نزدیکتر باشند، تأخیر را کاهش داده و به رایانه شما کمک میکند احساس سریعی داشته باشد.
کش دارای سلسله مراتب یا سطوح کش مخصوص به خود است که به کش L1، L2 و L3 تقسیم می شوند. اینها همه انواع کش هستند، اما عملکردهای کمی متفاوت دارند.
کش L1 اولین سطح کش و همچنین کوچکترین آن است که معمولاً به دستورالعمل L1 یا داده L1i و L1 یا L1d تقسیم می شود. هر هسته در CPU بخش انحصاری خود را از کش L1 دارد که معمولاً فقط چند کیلوبایت اندازه دارد. نوع داده های ذخیره شده در حافظه نهان L1 مواردی است که پردازنده به تازگی از آنها استفاده کرده یا انتظار دارد به زودی از آنها استفاده کند. اگر پردازنده به داده هایی نیاز داشته باشد که در حافظه نهان L1 وجود ندارد، به سطح بعدی می رود: L2.
مانند حافظه نهان L1، کش L2 اغلب منحصر به یک هسته پردازنده است، اما در برخی از پردازنده ها بین چندین هسته مشترک است. همچنین بسیار بسیار بزرگتر است. به عنوان مثال، هر هسته P در Core i9-12900K دارای 80 کیلوبایت کش L1 و همچنین 1.25 مگابایت کش L2 است که تقریبا 16 برابر بیشتر است. با این حال، کش های بزرگتر تاخیر بیشتری دارند، به این معنی که زمان بیشتری برای برقراری ارتباط بین هسته CPU و حافظه نهان صرف می شود. وقتی پردازندهها میخواهند در میکروثانیه یا حتی نانوثانیه به چیزی برسند، تاخیر کمی بالاتر حافظه نهان L2 تفاوت ایجاد میکند. اگر پردازنده نتواند داده های درخواستی را در حافظه نهان L2 پیدا کند، سطح بعدی را می پرسد: L3.
حافظه نهان L3 یک معامله بزرگ است: بین برخی یا همه هسته های پردازنده مشترک است و بزرگ است. 12900K دارای 30 مگابایت حافظه کش L3 است، به عنوان مثال، 24 برابر کش L2. تأخیر کش L3 حتی بدتر از L2 است، اما داشتن یک کش L3 بزرگ برای جلوگیری از درخواست RAM برای داده های مورد نیاز CPU واقعا مهم است. به جز برای ذخیره سازی، RAM بدترین سرعت و تاخیر را در سلسله مراتب حافظه دارد و هر بار که CPU نیاز به دسترسی به RAM برای داده های مورد نیاز خود دارد، همه چیز متوقف می شود. در حالت ایده آل، همه چیز مهم حداقل در حافظه نهان L3 ذخیره می شود تا از تأخیر عظیم جلوگیری شود.
برخی از CPU ها حتی حافظه نهان L4 دارند، اما معمولاً مانند RAM موجود در بسته CPU عمل می کند. برخی از اولین پردازندههای 14 نانومتری اینتل مبتنی بر معماری Broadwell شامل 128 مگابایت حافظه داخلی DRAM هستند و پردازندههای سرور آتی Sapphire Rapids این شرکت ممکن است با HBM2 عرضه شوند که به عنوان یک سطح اضافی از حافظه پنهان استفاده میشود.
آیا کش cpu برای بازی مهم است؟
حافظه نهان CPU تفاوت زیادی برای بازی ها ایجاد می کند. اگرچه عملکرد تک رشته، دستورالعملها در هر ساعت (IPC) و سرعت ساعت به طور سنتی مهمترین عوامل در عملکرد بازی در نظر گرفته میشوند، اما کاملاً واضح شده است که حافظه پنهان شاید مهمترین عامل در رقابت بین AMD و اینتل باشد.
کش برای بازی ها بسیار مهم است زیرا بازی ها امروزه طراحی شده اند. بازی های مدرن تصادفی زیادی دارند، به این معنی که پردازنده به طور مداوم نیاز به اجرای دستورالعمل های ساده دارد. بدون حافظه کش کافی، کارت گرافیک شما مجبور می شود روی CPU منتظر بماند زیرا دستورالعمل ها روی هم انباشته می شوند و باعث ایجاد گلوگاه می شوند. میتوانید نمونهای از تفاوت فناوری 3D V-Cache AMD را ببینید Far Cry 6 در زیر.
در سالهای اخیر ما شاهد روندی به سمت کش بازی بیشتر بودهایم. پردازندههای Ryzen 3000 AMD دو برابر بیشتر از نسل قبلی حافظه نهان L3 داشتند و برای بازی بسیار سریعتر بودند و تقریباً به اینتل رسیدند. زمانی که Ryzen 5000 راه اندازی شد، AMD حافظه نهان بیشتری اضافه نکرد، بلکه دو بلوک حافظه کش L3 را در پردازنده ادغام کرد که به طور قابل توجهی تاخیر را کاهش داد و AMD را از نظر عملکرد بازی در پیشرو قرار داد. AMD فناوری 3D V-Cache خود را در Ryzen 7 5800X3D دو برابر کرده است، که 64 مگابایت حافظه نهان تراشه L3 را در کل 96 مگابایت بر روی CPU قرار می دهد که حتی از پرچمدار Ryzen 9 5950X بیشتر است.
اینتل در حال بازی کردن با AMD است و نسل فعلی پردازندههای Alder Lake تا 30 مگابایت حافظه نهان L3 دارند که به طور قابل توجهی کمتر از اکثر پردازندههای Ryzen است، اما حافظه نهان L1 و L2 آنها نیز بسیار بیشتر است. با این حال، ضعف اینتل در ظرفیت L3 به این معنی نیست که پردازنده های Ryzen 5000 برای بازی بسیار سریعتر هستند. در بررسی Core i9-12900K ما، 12900K را برای عملکرد بازی با Ryzen 9 5950X مرتبط دانستیم.
رقابت برای کش تقریباً با پردازنده های Ryzen 7000 و Raptor Lake آینده ادامه خواهد یافت. تایید شده است که Ryzen 7000 دو برابر حافظه نهان L2 Ryzen 5000 دارد و احتمالاً شاهد استفاده از V-Cache بیشتر CPU خواهیم بود. در همین حال، اینتل نسخه V-Cache خود را ندارد، اما شایعه شده است که Raptor Lake دارای حافظه نهان L3 بسیار بیشتری نسبت به Alder Lake، فقط در خود پردازنده است.
توصیه های سردبیران