CPU Cache چیست؟

اصولا کامپیوتر دو نوع اصلی Memory دارد:

DRAM یا Dynamic RAM که ذر ماژول های RAM مورد استفاده قرار می گیرد.

DRAM برای ذخیره ی دیتا از تعدادی Capacitor یا ذخیره ساز بهره می گیرد که باید دائما و به طور پویا Refresh شوند تا بتوانند دیتا را ذخیره نمایند.

در مقابل نوع دیگری از Memory ها به نام SRAM وجود دارد که به عنوان CPU Cache استفاده می گردد.

از آنجایی کهSRAM برخلاف DRAM نیاز نیست به طور دائم Refresh شود، به مراتب سریع تر از DRAM می باشد و بنابراین قیمت بسیار بالاتری نیز دارد.

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

 

به طور عمده کاری که CPU Cache انجام می دهد، نگهداری داده های معمول که نیاز است CPU به طور مکرر از آن ها استفاده نماید، می باشد.

پس زمانی که CPU نیاز به دسترسی به دیتای مشخصی را دارد، ابتدا سریع ترین Cache خود را بررسی می نماید ، در صورتی که دیتا را یافت از آن استفاده می کند ولی چنانچه داده ی مورد نظر درون Cache نبود، به ناچار به سراغ RAM می رود که سرعت به مراتب کمتری نسبت به CPU Cache دارد.

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

به طور کلی هدف استفاده از Cache داخل CPU ، رسیدن به Performance بیشتر با صرف هزینه ی کمتر می باشد.

حالا اگر CPU از Cache استفاده نکند، چه اتفاقی خواهد افتاد؟

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

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

CPU Cache در سه سطح اصلی وجود دارد:

سطح اول که به آن سطح اصلی (Primary Cache) نیز گفته می شود، درون خود پردازنده قرار دارد و از سرعتی همانند آن برخوردار است و سریعترین Cache درون سرور می باشد.

 

 

سطح دوم که کش خارجی (External Cache) نامیده می شود، و زمانی که CPU نتواند دیتای مورد نیاز خود را داخل Primary Cache پیدا کند، به کار می آید.

در صورتی که CPU از Cache اول و دوم نتواند دیتا را پیدا کند، به سراغ سومین سطح از کش (Level 3 Cache) خواهد رفت.

چنانچه دیتای مورد نظر در هیچ کدام از Cache ها نبود، CPU به RAM رجوع  می نماید.

در گذشته Level 2 Cache درون یک چیپست جداگانه روی مادربرد قرار داشت ولی امروزه سخت افزارها پیشرفته تر شده اند و Level 2 cache درون خود CPU قرار می گیرد.

 

کش سطح 2، بزرگ تر از سطح 1 و همچنین به مراتب کند تر می باشد و همچنین سطح 3 نیز بزرگتر و کندتر از سطح 2 Cache است.

به کش سطح 3، Shared Cache نیز گفته می شود زیرا حافظه ی آن بین تمام هسته ها در CPU به اشتراک گذاشته می شود در صورتی که حافظه ی کش سطح 1 و 2 مختص به هسته های خود می باشد.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تیم پشتیبانی آرین وب ایرانیان آماده پاسخگویی به شما می باشد.