تاثیر حافظه کش CPU بر اجرای بازی ها

تاثیر حافظه کش CPU بر اجرای بازی ها

نوشته‌ی
avatar
3 سال و 8 ماه و 20 روز پیش

فهرست مطالب

در این مقاله قصد داریم به تأثیر کش CPU در اجرای بازی‌ها بپردازیم، موضوع مهمی که کمتر به آن پرداخته شده است. لطفا با اگزوگیم همراه باشید.

بد نیست قبل از هر چیز مختصری درباره کش CPU که به آن حافظه نهان هم می‌گویند توضیح دهیم. توسعه کَش و کَشینگ (عمل کَش کردن) یکی از مهم‌ترین وقایع در تاریخ محاسبات و علوم کامپیوتر است.  تقریبا هر هسته پردازنده مدرن از تراشه‌های بسیار کم قدرت مانند ARM Cortex-5A گرفته تا بالاترین سطح Intel Core i9 از حافظه‌های کَش استفاده می‌کنند.

حتی میکروکنترلرهای سطح بالا اغلب دارای مقدار کمی کَش هستند یا آنها را به عنوان گزینه انتخابی ارائه می‌دهند - چرا که مزایا و کارایی آن‌ها به قدری مهم است که حتی برای طرح‌های بسیار کم مصرف نیز نادیده گرفته نمی‌شوند.

کش CPU

کَشینگ برای حل یک مشکل مهم اختراع شد. در دهههای اولیه رونق کامپیوترها، حافظه اصلی بسیار کند و فوق العاده گران بود، اما پردازندهها نیز آنچنان سریع نبودند. با آغاز دهه هشتاد میلادی، این شکاف به سرعت گسترده شد. سرعت عملکرد ریز پردازندهها ناکارآمد شد، اما زمان دستیابی به حافظه به طرز چشم‌گیری بهبود یافت. با افزایش این شکاف، به طور واضح مشخص شد که نوع جدیدی از حافظهی سریع برای پوشش این مشکل مورد نیاز است.

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

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

 

دلیل این اتفاق این است که توجه آن‌چنانی بر روی این موضوع قرار نگرفته است و مجامع کارشناسی و تخصصی نیز خیلی کم به اهمیت کش CPU پرداخته‌اند، اما این دلیل نمی‌شود که فکر کنید این بخش اهمیت کم‌تری دارد، شاید حتی هم‌طراز با هسته‌های پردازنده باشد. پردازنده‌های تجاری معمول بازار معمولا دارای سه سطح کَش هستند.

کَش سطح یک، کَش سطح دو و کَش سطح سه که به اختصار به ترتيب به آن‌ها L1, L2 و L3 می‌گویند. البته یک کَش سطح چهار (L4) نیز وجود دارد که بهتر است فعلا به آن نپردازیم. با این‌که تقریبا هر هسته‌ای دارای کَش L1 و L2 مخصوص به خود است و این دو به گونه‌ای به هم‌دیگر شباهت دارند، اما کَش L3 مانند یک حوضچه‌ی مشترک است که همه‌ی هسته‌ها از آن استفاده می‌کنند.

در زمینه سرعت اوضاع به این شکل است: L1 از همه سریع‌تر است، L2 کندتر است و به همین ترتيب الی آخر. البته بحث تفاوت سرعتی جدیدا در حال کنار گذاشته شدن است و صنعت به سمت یک‌پارچگی در معماری به پیش می‌رود. در بعضی مواقع از کَش L3 به عنوان حافظه گرافیکی تجمیع شده نیز استفاده می‌شود. برای درک بهتر کارکرد کَش به تصویر پائین نگاه کنید:

کش CPU

سؤالی که این وسط ممکن است پیش بیاید این است که فلسفه وجودی چند سطح کَش چیست و چرا از همان ابتدا یک کَش L1 بزرگ برای همه‌ی هسته‌ها استفاده نمی‌کنیم؟ و یا یک L3 پر سرعت برای همه‌ی هسته‌ها؟ پاسخ این سؤال‌ها در فلسفه جایگذاری سطح‌بندی کَش‌ها و تعادل بین آن‌ها نهفته است، خوانندگان حرفه‌ای و عاشق فناوری ما حتما می‌دانند که منظور ما تأثیرگذاری در زمان تأخیر و دقت کَش‌هاست.

 

وقتی شما یک کَش L1 خیلی بزرگ قرار می‌دهید اولین مشکل این‌جاست که فضای ارزش‌مند پردازنده را اشغال می‌کنید، در حالی که برنامه‌های خیلی کمی به آن سرعت بالای کَش L1 نیاز خواهند داشت. در درجه بعدی دقت عملیات - یا به عبارت تخصصی "Hit Rate" - کاهش پیدا می‌کند.

به همین دلیل است که پردازنده‌های نوین از مقدار کمی کَش L1 با سرعت زیاد، مقدار بیشتری کَش L2 با سرعت پائین‌تر و مقدار بسیار بیشتری کَش L3، استفاده می‌کنند. برخی از پردازنده‌های جدیدتر از eDRAM نیز استفاده می‌کنند که در اصل همان کَش سطح چهار یا L4 می‌باشد و حجم بزرگ‌تری دارد. حال بیایید به آمار و نمودار گرافیکی بپردازیم.

کش CPU

همان‌طور که در نمودار بالا می‌بینید از دو مگابایت کَش L3 تا هشت مگابایت کَش L3 نتایج حاکی از تأثیر مثبت 10% در اجرای بازی‌ها خبر می‌دهند که بسته به میزان درگیر بودن پردازنده این درصد متغییر است. در بخش اول که وضوح تصویر پائین است و گلوگاه اصلی پردازنده است، شاهد هستیم که کارایی 10% افزایش پیدا می‌کند. در بخش بعدی و وضوح 1080P شاهد تأثیر 8 درصدی هستیم. با این اوضاع می‌توان حالت‌های مختلف دیگر را نیز حدس زد. در پائین نمودار پردازنده‌های AMD را مشاهده کنید.

کش CPU

کش CPU

شرایط باز هم مشابه است، اما با این تفاوت که این‌بار از عدم وجود کَش L3 تا هشت مگابایت کَش L3 را بررسی می‌کنیم. شایان ذکر است که معماری کش CPU در ای‌ام‌دی متفاوت از اینتل است. در حالی که هر هسته‌ی پردازنده‌ی اینتل کَش L1 مخصوص به خود را دارد اما در ای‌ام‌دی هر دو هسته به صورت مشترک کَش L1  را بین خودشان استفاده می‌کنند. برای همین نتایج کمی متفاوت است.

امیدورام از مقاله استفاده لازم را برده باشید برای تهیه پردازنده و قطعات به‌روز کامپیوتری به بخش فروشگاه اگزوگیم مراجعه کنید.

بیشتر بخوانید:

مقالات مرتبط
برای ارسال دیدگاه ابتدا باید وارد شوید.
محصولات مرتبط