هر آنچه که باید در مورد کش سی پی یو بدانید
پردازنده های کامپیوتری دائم در حال پیشرفتن و هر روز بهتر از دیروز عمل میکنن. تعداد ترانزیستورها در حجم کم در حال زیاد شدنه و این باعث میشه که آزادی عمل بیشتری برای طراحیهای CPU ایجاد بشه و این قطعه بهتر عمل کنه. کش سی پی یو کنار تعداد ترانزیستور، هسته و فرکانس یکی از مشخصههای مهم CPU هست اما معمولا به اون توجه نمیشه. در تبلیغات AMD و Intel هم خیلی بهش پرداخته نمیشه. شاید دلیلش اینه که کش CPU به سمتی میره که همهی CPU ها باید اون رو داشته باشن. در این مقاله اینکه حافظه کش سی پی یو چیست رو بررسی میکنیم.
کش سی پی یو چیست ؟ تاثیر کش در سرعت سی پی یو
مهندسهای سختافزاربرای اینکه سرعت این قطعه و بهطور کلی سرعت سیستم رو زیاد کنن راههای زیادی رو امتحان کردن. زیاد کردن هستهها، طراحی رشتهی CPU، ارتقا دادن حافظهی رم و HDD و همینطور اتصالات بین قطعات نمونههایی از این تلاشها هستن. با این حال هیچکدوم به اندازهی ایجاد کش سی پی یو سرعت رو بالا نمیبره.
کش یک نوع حافظه شبیه حافظههای دیگهی سیستم مثل RAM وهارده ولی سرعت خیلی بالاتری داره. یکی از خصوصیات مهم حافظهی کش اینه که داخل خود CPU قرار گرفته. حافظهها در کامپیوتر سلسله مراتبی دارن که در عکس پایین میبینید:
از این عکس میشه فهمید هرچی به سمت بالای هرم بریم سرعت بیشتر میشه ولی ظرفیت حافظه پایین میاد. برعکس هرچی به سمت پایین بریم ظرفیت حافظه بیشتر و سرعت پردازش اطلاعات کمتر میشه. راجع به L2, L1 و L3 هم حرف میزنیم.
کش CPU چطور کار میکند؟
هر نرمافزاری که در سیستمتون اجراش میکنین به پردازش نیاز داره. دادههای این نرمافزار طبق سلسلهمراتب حافظه، روی هاردتون قرار داره و بعد از اجرا به رم فرستاده میشه و رم اون رو برای پردازش به سی پی یو منتقل میکنه. در آخر سی پی یو دادهی پردازششده رو به حافظهی اصلی شما بر میگردونه. هرکدوم ازین مسیرها کمی تاخیر دارن، اما کش CPU این تاخیر رو از بین میبره. چطوری؟ کش دقیقا اطلاعاتی رو که سی پی یو به اون نیاز داره در همون لحظه در اختیارش قرار میده؛ اما چون کش داخل خود CPU قرار داره این مسیر خیلی کوتاهتر شده و سرعت پردازش مخصوصا برای CPU های چند هستهای بیشتر میشه. کش سی پی یو خودش سلسلهمراتبی داره. البته اوایل فقط یک یا دو سطح داشت (L1 و L2) اما CPU های امروزی تا L3 دارن.
اگه میخواین سی پی یو بخرین و بین AMD و Intel نمیتونین یکی رو انتخاب کنین مقالهی مقایسه CPU های Intel و AMD غول های صنعت پردازش کمکتون میکنه.
سطوح کش سی پی یو (L1, L2, L3)
سی پی یو های جدید برای حافظه سه سطح دارن: L2 ،L1 و L3 این سه سطح بر اساس سرعت و ظرفیت، سلسلهمراتبی دارن.
کش L1
کش 1 یا L1 سریعترین حافظه در سیستم شماست. این سطح، ظرفیت حافظهی خیلی کمی داره و معمولا 256 کیلوبایت بیشتر نیست ولی در سی پی یو های قوی مثل Intel Xeon سرور این کش به 1 یا 2 مگابایت هم میرسه. سی پی یو برای پردازش، اول سراغ این سطح میره و اگه دادهی مورد نظر داخل اون باشه با سرعت خیلی بالایی به CPU منتقل میشه و پردازش انجام میشه.
معمولا کش L1 به دو بخش دستورالعملها و دادهها تقسیم میشه. کش اولی با دستورالعملهایی سروکار داره که باید روی داده انجام بشه و کش دومی، دادههایی رو ذخیره میکنه که باید پردازش بشه.
کش L2
کش L2 نسبت به کش L1 سرعت کمتری داره ولی میتونه مقدار دادهی بیشتری رو در خودش جا بده. این کش CPU معمولا بین 256 کیلوبایت تا 8 مگابایت حافظه داره و به خاطر همین، سطح L2 به عملکرد کل کش کمک خیلی زیادی کرده. معمولا در سی پی یو های مدرن چند هستهای هر هسته سطوح L1 و L2 جداگونه داره.
کش L3
این سطح بیشترین حافظه رو داره و در پایین این سلسلهمراتب قرار میگیره پس سرعتش هم از دو تای قبلی کمتره. ظرفیت حافظهی این سطح بین 8 تا 128 مگابایت برای سی پی یو های مختلف متغیره. این حافظهی زیاد باعث میشه CPU پردازشهای سنگین مثل محاسبات پیچیده رو با سرعت خیلی بالایی انجام بده بدون اینکه مشکلی برای اون پیش بیاد.
Hit or Miss کش سی پی یو
طبق سلسله مراتبی که گفتیم دادهها اول از رم به سطح L3 سی پی یو منتقل میشه و از L3 به L2 و همینطور در آخر از L2 به L1 میرسه. CPU برای پردازش دادهی مورد نظرش اول از همه در کش L1 دنبال اون میگرده و اگه پیدا نکرد L2 و L3 رو هم چک میکنه. در صورتی که سی پی یو دادهی مورد نظرش رو داخل کش پیدا کنه Cache Hit (دستیابی به داده) اتفاق میفته.
بعضی وقتها بهخاطر حجم اطلاعات زیاد یا شلوغ بودن مسیر انتقال یا اینکه نرمافزار مورد استفاده با سیستم پردازش جدید ناسازگاره، دادهی مورد نظر در کش پیدا نمیشه و سی پی یو درخواست اون داده رو به رم میده. در این صورت Cache Miss (عدم دستیابی به داده) اتفاق میفته.
تاخیر یا تایمینگ
هر قطعه تاخیر یا تایمینگی داره. تاخیر در سی پی یو بسته اینکه داده در کدوم سطح باشه یا اینکه Cache Miss اتفاق بیفته، فرق میکنه. هر چی داده به سطح L1 نزدیکتر باشه تاخیر سی پی یو کمتره.
مثل حافظه کش در سی پی یو، این تاخیر در رم و حافظه اصلی وجود داره. البته با پیشرفت چشمگیری که این روزها در ساخت قطعهها میبینیم، این تاخیر هر روز کمتر میشه مثل رمهای DDR4 یا حافظههای اصلی SSD که سرعت بالا و تاخیر خیلی کمی در انتقال دارن.
البته قبلا L1 و L2 بیرون CPU قرار داشت که تاخیر نسبتا زیادی در انتقال داده ایجاد میکرد، اما امروزه به خاطر کوچیک شدن ترانزیستورهای سی پی یو و زیاد شدنشون، این کش داخل سی پی یو قرار گرفته و باعث شده دادهی مورد نظر در نزدیکترین فاصله به هستهی CPU قرار بگیره و این اتفاق تاخیر رو تا حد زیادی کاهش داده.
چرا رم رو مثل کش CPU نمیسازن؟
در اصل این کار رو میکنن اما مشکل اصلی فاصلهی بین رم و سی پی یو هستش. در واقع کش طراحی شده تا CPU به سرعت به دادهی مورد نظرش دسترسی پیدا کنه و از تاخیر در مسیر بین رم و سی پی یو جلوگیری کنه. یکی از پیشرفتهایی که CPU ها رو بهتر میکنه افزایش ظرفیت حافظه کش هستش. این پیشرفت ممکنه تا حدی پیش بره که حافظه رم به کلی حذف و به حافظه کش تبدیل بشه.
تاثیر کش در سرعت CPU ، آیا کش بیشتر سرعت سیستم رو بالا میبره؟
یک کش CPU با حافظهی بالاتر روی سرعت سیستم موثره ولی لزوما اون رو بالا نمیبره، چون سرعت به مجموعه قطعات و اتصالات ربط داره و یک مشخصه بهتنهایی نمیتونه تاثیر زیادی داشته باشه. از طرف دیگه اگه مادربرد و رم یا بهطور کلی سیستم قدرت کافی نداشته باشه، کش سی پی یو نرخ Cache Hit رو زیادتر نمیکنه و در نتیجه سرعت بالاتر نمیره.
حرف آخر
در این مقاله کش سی پی یو رو بررسی کردیم و به این نتیجه رسیدیم که طراحی کش CPU یکی از بهترین راه کارهای افزایش کلی سرعت کامپیوتره. این مشخصه هر روز در حال پیشرفته و ممکنه بهطور کلی رم رو از سیستمهای کامپیوتر حذف کنه. هر حافظه کش 3 سطح داره: L2، L1 و L3. کش L1 سریعترین حافظهی کامپیوتر محسوب میشه. اگه سوالی راجع به حافظه کش سی پی یو دارین در قسمت نظرات برامون کامنت بذارین.
دانلود فایل PDF این مقاله
سوالات متداول
کش سی پی یو یک حافظه با سرعت خیلی بالاست که در نزدیکترین نقطه به CPU قرار داره. این حافظه در کوتاهترین زمان دادهی مورد نظر رو در اختیار سی پی یو قرار میده.
در واقع این کار رو میکنن ولی مشکل اصلی نوع حافظه نیست بلکه فاصلهی رم تا سی پی یو روی سرعت پردازش تاثیر زیادی میذاره.
لزوما نه، بیشتر شدن این حافظه روی سرعت تاثیر میذاره اما همهی اجزای کامپیوتر باید از سرعت بیشتر کش پشتیبانی کنن. مثلا اگه سرعت باس رم کم باشه، حافظهی بیشتر کمک زیادی نمیکنه.
سلام خسته نباشید .من با لب تاپ کاره اهنگسازی و …انجام میدم و گاهی اوقات cpu کشش نداره . رم دستگاه رو افزایش دادم به ۲۰ G و سی پی یو هم intel core i7 هست.حتی یه ssd 256 هم روی درایو c نصب کردم.اما باز مشکل دارم. نمیدونم باید چیکار کنم؟ حافظه کش رو باید هربار پاکسازی کنم یا اینکه تعدل و هماهنگی بین قطعات دستگاهم نیست؟ ممنون میشم راهنمایی کنید
یک پردازنده با فرکانس بالاتر (مثلا ۳.۲GH) و کش پایین تر (مثلا۶M) بهتره یا یه پردازنده با فرکانس پایینتر (مثلا ۳GH) و کش بالاتر (مثلا۱۲M) ؟
*با فرض بر اینکه تمامی قطعات دیگه از سرعت و مشخصات یکسانی برخوردارن*
سلام
اومدم بابت معرفی https://technical.city ازت تشکر کنم
من در خرید دو لپ تاپ با cpu های متفاوت( A10 Pro-7350B و Core i7-4600U) شک داشتم و از هر کسی راهنمایی میگرفتم نمیتونست راهنمایی دقیقی کنه.
با کمک سایتی که معرفی کردی خیلی دقیق و عالی تونستم انتخاب کنم.
واقعا ممنونم ازت
با سلام من میخوام لپتاپ بخرم ولی به یه مشکلی برخوردم حافظه ی کش ۴ مگ برای برنامه نویسی مناسبه یا کمه ؟
سلام، مسعود جان این که کش سی پی یو چند باشه تأثیری نداره برای برنامه نویسی، شما بهتره بنچمارک پردازنده مورد نظرتون رو ببینید تا به قدرت سی پی یو پی ببرید. یک سی پی یو قدیمی با کش ۴ مگ به هیچ وجه با یه سی پی یو نسل جدید قابل مقایسه نیست. برای این کار سایت technical.city رو بهتون پیشنهاد می کنم، چون همه بنچمارک رو یجا بهتون میده و میتونید پردازنده ها رو مقایسه کنید.
سلام مادر برد من p43-es3g گیگابایت هست از کجا بفهمم کشش چقدره?
سلام، دوست عزیز کش مربوط به پردازنده هست
سلام
لپ تاپ هایی با مشخصات زیر:
Intel 10510U , Cache 8، ۱۶gb RAM
و
Intel 9750H, Cache 12 , 32gb RAM
کدوم برای رندر مناسب تره؟
سلام قطعاً سیستم با سی پی یو ۹۷۵۰H و رم ۳۲ گیگ، هم سی پی یو قوی تری داره و هم رم بیشتر!
سلام ایا سی پی یو زئون با ۱۰ مگ کش برای بازی مناسب است؟
سلام مدل سی پی یو شما چیه؟ برای این که بدونید چه بازی هایی رو میتونید با این سی پی یو بازی کنید باید بنچمارکش رو بررسی کنید، میتونید از سایت technical.city استفده کنید
سلام مهندس جان به نظر شما حافظه کش بهتر است به سی پی یو نزدیک باشه یا رم
سلام محمد جان، حافظه کش که توی خود مدار مجتمع CPU هست و به سی پی یو نزدیک هست.
بسیار عالی
ممنون از توضیحات کاملتون
خواهش میکنم
امیدوارم مقاله برای شما مفید واقع شده باشد.