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

به گزارش مجله سرگرمی، پردازنده های کامپیوترها طی سال های اخیر پیشرفت چشمگیری داشته اند. ترانزیستورها هر ساله کوچکتر و بهتر می شوند و در نتیجه پردازنده های قدرتمندتر به دست کاربران می رسند. اما وقتی که صحبت از پردازنده می گردد، به غیر از بحث ترانزیستورها و فرکانس ها باید به اهمیت حافظه کش (Cache) هم اشاره کنیم که نقش مهمی را ایفا می نماید.

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

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

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

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

کامپیوترهای امروزی از چندین نوع حافظه بهره می برند. در درجه اول با حافظه اصلی سروکار داریم که معمولا به صورت هارد دیسک یا SSD است و وظیفه ذخیره سازی داده ها را بر عهده دارد. سپس باید به حافظه دسترسی تصادفی موسوم به رم اشاره کنیم. این نوع حافظه ها سرعت بسیار بیشتری دارند اما تنها یک محیط ذخیره سازی کوتاه مدت هستند. کامپیوتر و نرم افزارها انواع داده ها را مرتبا بر روی حافظه رم قرار می دهند تا بتوانند وظایف خود را با سرعت زیادی انجام دهند.

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

حافظه کش یک نوع رم ایستا (Static RAM) محسوب می شود ولی حافظه رم موجود در سیستم به عنوان رم پویا (Dynamic RAM) شناخته می شود. رم ایستا می تواند داده ها را بدون احتیاج به تجدیدنظر مداوم نگه دارد و به همین خاطر برخلاف رم پویا، گزینه ایدئالی برای انجام وظیفه به عنوان حافظه کش است.

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

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

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

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

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

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

کش سطح اول (L1)

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

ظرفیت کش L1 به پردازنده بستگی دارد. ظرفیت کش L1 بعضی از پیشرفته ترین پردازنده های دنیا به 1 مگابایت می رسد که به عنوان مثال می توانیم به پردازنده i9-9980XE اینتل اشاره کنیم. بخشی از پردازنده های مختص سرور، مانند سری Xeon اینتل، هم دارای کش L1 با ظرفیت 1 تا 2 مگابایت هستند.

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

کش سطح دوم (L2)

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

ظرفیت کش L2 هم بستگی به خود پردازنده دارد ولی معمولا بین 256 کیلوبایت تا 8 مگابایت است. از نظر سرعت هم همان طور که گفتیم سرعت پایین تری نسبت به L1 دارد اما همچنان بسیار سریع تر از حافظه رم سیستم است. به طور میانگین، کش L1 حدود 100 برابر سرعت بیشتری نسبت به رم دارد و L2 هم از حدود 25 برابر سرعت بیشتر نسبت به رم بهره می برد.

کش سطح سوم (L3)

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

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

به عنوان مثال، در تصویر زیر می توانید ظرفیت سطوح کش پردازنده Core i5-3570K اینتل را مشاهده کنید.

در همین تصویر می توانید ببینید که کش L1 به دو بخش تقسیم شده و L2 و L3 به ترتیب از ظرفیت بیشتری بهره می برند.

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

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

داده ها چگونه بین سطوح مختلف کش پردازنده حرکت می نمایند؟

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

اگر پردازنده در سطوح مختلف حافظه کش خود داده های لازم را پیدا نکند، کوشش می نماید تا به وسیله حافظه رم به آن ها برسد. همان طور که می دانیم، حافظه کش برای سرعت بخشیدن فرایند تبادل اطلاعات بین حافظه اصلی و پردازنده طراحی شده است. به زمان لازم برای دسترسی به داده های درون حافظه های مختلف، Latency یا تأخیر گفته می شود.

کش L1 با توجه به اینکه از بیشترین سرعت بهره می برد و نزدیک ترین حافظه به هسته پردازشی است، کمتری میزان تأخیر را دارد و کش L3 هم دارای بیشترین میزان تأخیر است. زمانی که پردازنده به ناچار باید اطلاعات را از حافظه رم دریافت کند، این میزان تأخیر افزایش پیدا می نماید.

با افزایش سرعت و کارآمدتر شدن کامپیوترها، میزان تأخیر مربوط به انتقال داده ها هم کاهش پیدا می نماید. به عنوان مثال باید به افزایش سرعت رم های DDR4 و حافظه های SSD اشاره کنیم که سرعت کل سیستم را به طور قابل توجهی افزایش می دهند.

آینده حافظه کش پردازنده

با پیشرفت تکنولوژی در طراحی و ساخت انواع حافظه ها، حافظه کش پردازنده هم روزبه روز بهتر و سریع تر می شود. به عنوان مثال، از جدیدترین نوآوری های شرکت AMD می توانیم به قابلیت های حافظه دسترسی هوشمند (Smart Access Memory) و کش بی نهایت (Infinity Cache) اشاره کنیم که هر دو می توانند عملکرد کامپیوتر را بهبود ببخشند.

منبع: Make Use Of

mastanehtoline.ir: مجله مستانه، وبگاه گفتگو و انجمن بحث و تبادل نظر

kulu.ir: کولو: مجله جاذبه های گردشگری ایران

cicagraphic.ir: مجله گرافیک | همه چیز درباره طراحی بصری و گرافیکی

منبع: دیجیکالا مگ
انتشار: 7 اردیبهشت 1401 بروزرسانی: 7 اردیبهشت 1401 گردآورنده: kurdeblog.ir شناسه مطلب: 141373

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

امتیاز دهید:

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

* نظرتان را در مورد این مقاله با ما درمیان بگذارید