نحوه عملکرد حافظه کش (Cache) در پردازنده

عملکرد حافظه Cache پردازنده

نحوه عملکرد حافظه کش (Cache) در پردازنده

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

حافظه Cache چیست؟

اختراع حافظه نهان یکی از مهم ترین وقایع در تاریخ علم کامپیوتر بود، اما کش دقیقاً چیست و چگونه کار می کند؟

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

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

هدف از داشتن سیستم حافظه کش در رایانه، اطمینان از دسترسی سریع CPU به داده های مورد نیاز به ترتیب الویت های خود است.

در ابتدا برای دیدن نحوه کار آن ها، باید بدانید رایانه ها دارای سه نوع حافظه هستند:

  • ابتدا حافظه اولیه موجود در هارد یا SSD است، این بزرگترین مخزن حافظه ذخیره سازی دستگاه است.
  • سپس RAM یا Random Access Memory وجود دارد که سریع تر عمل می کند اما کوچک تر از حافظه اولیه است.
  • سرانجام، واحدهای حافظه در درون CPU وجود دارد که به حافظه نهان یا کش معروف است و در حقیقت سریع ترین نوع حافظه است.

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

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

سطح حافظه کش

در داخل CPU، معمولا سه یا چهار سطح مختلف حافظه پنهان وجود دارد: L2 ،L1 و L3 و حتی L4.

سطوح حافظه Cache
در داخل CPU، سه سطح مختلف حافظه پنهان وجود دارد: L2 ،L1 و L3 و حتی L4

کش L1 سریع ترین و کوچک ترین در بین سطوح است که به هر هسته به صورت جداگانه اختصاص می یابد. این بخش شامل داده هایی است که CPU احتمالاً برای انجام عملیات به آن نیاز دارد.

L1 معمولاً حدود 256KB را نگه می دارد، اگرچه برخی آن را تا 1 مگابایت فشرده کرده اند.

این حافظه پنهان کوچک دارای یک هدف دوگانه است و دارای یک حافظه پنهان دستورالعمل و یک حافظه پنهان داده است.

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

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

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

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

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

سرعت انتقال حافظه Cache
وقتی برنامه ای اجرا می شود، داده ها از RAM به حافظه نهان L3، سپس L2 و سرانجام به L1 جریان می یابد.

در حالی که این برنامه در حال اجرا است، CPU اطلاعاتی را که برای اجرای آن نیاز دارد، به دست می آورد، از کش L1 شروع می کند و از آنجا به عقب کار می کند.

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

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

تأخیر عامل مهمی در کارآیی رایانه است

در حقیقت تاخیر هنگام بازیابی اطلاعات از یک قطعه اتفاق می افتد، حافظه نهان L1 سریع ترین حافظه است، بنابراین کمترین تاخیر را دارد.

حافظه Cache پردزنده
حافظه ای به نام ثبات وجود دارد و در درون پردازنده ها قرار گرفته تا هنگام دسترسی سریع به اطلاعات مورد استفاده قرار بگیرد.

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

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

کش های پر سرعت تأخیر کمتری خواهند داشت و باعث می شود برنامه های شما سریع تر و مؤثرتر اجرا شوند.

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