تفاوت بین L1 و L2 و L3 در CPU Cache

اشتراک

تفاوت بین L1 و L2 و L3 در CPU Cache

قبلا در خصوص تفاوت فرآیند Buffering و Caching صحبت کردیم و متوجه شدیم که Cache چقدر می تواند باعث افزایش سرعت پردازشی ما در کامپیوتر شود.

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

حافظه کش یک حافظه خاص است که توسط CPU یا Central Processing Unit کامپیوتر شما برای کاهش زمان دستیابی به داده ها و همچنین کاهش سرعت دسترسی به حافظه RAM سیستم ایجاد شده است. حافظه کش معمولا ظرفیت کمتر و سرعت بیشتری نسبت به سایر حافظه های مورد استفاده در کامپیوتر دارد و داده هایی که بیشترین میزان و تعداد دسترسی به آنها نیاز است در این حافظه قرار می گیرند. زمانیکه یک درخواست خواندن از حافظه توسط پردازنده صادر می شود ، ابتدا محتویات حافظه کش سیستم بررسی می شود که آیا داده مورد نظر در این حافظه قرار دارد یا خیر ؟ اگر داده مورد نظر در کش سیستم وجود داشته باشد دیگر نیازی به دسترسی به حافظه RAM سیستم وجود ندارد که در این حالت سرعت انجام فرآیند ما نیز بیشتر خواهد شد.

معمولا دو نوع حافظه کش مستقل در سیستم برای نگهداری داده ها و دستورات وجود دارد. حافظه Cache ای که برای نگهداری داده ها استفاده می شود از یک ساختار سلسله مراتبی تبعیت می کند که در واقع بصورت لایه بندی شده ، داده ها را در حافظه های کش نگهداری می کند ، بعضا به این ساختار Multilevel Cache نیز گفته می شود. L1 یا Cache Level 1 ، L2 یا Cache Level 2 و در نهایت L3 یا Cache Level 3 در حال حاضر Cache هایی هستند که در این سلسله مراتب وجود دارند. L1 بالاترین سطح در این سلسله مراتب را دارد و نزدیکترین Cache به CPU محسوب می شود و در واقع اولین حافظه Cache ای است که بررسی می شود. L2 در خط بعدی قرار دارد و دومین حافظه نزدیک به CPU محسوب می شود و در واقع حافظه میانه کش سیستم است ، L3 نزدیکترین Cache به RAM سیستم است و از دو حافظه Cache ای که وجود دارد ظرفیت بیشتر و سرعت کمتری دارد. همه حافظه های کش L1 و L2 و L3 دارای سرعت ، محل ، ظرفیت و هزینه های متفاوتی هستند.

cpu_cache_structure

CPU_Cache_Structure

L1 Cache یا کش لایه اول CPU چیست ؟

کش لایه یک را به عنوان حافظه اصلی کش سیستم یا کش سطح اول می شناسند ، این حافظه دارای بالاترین سطح در سلسله مراتب کش هایی است که در CPU وجود دارند. در سه سطح از حافظه های Cache ای که در سیستم وجود دارد ، کش سطح یک یا L1 دارای بالاترین سرعت است ، این کش دارای کمترین ظرفیت و از طرفی کمترین زمان وقفه یا Delay ( تقریبا صفر ) است و این به دلیل نزدیکی زیاد به CPU و قرار گرفتن آن در خود چیپ CPU است. برای پیاده سازی L1 Cache از SRAM یا Static Random Access Memory استفاده می شود.

L2 Cache یا کش لایه دوم CPU چیست ؟

یا کش لایه دو را به عنوان کش ثانویه سیستم یا کش سطح دوم هم می شناسند ، این حافظه در واقع یک حافظه میانی بین لایه اول و لایه سوم از کش های CPU قرار می گیرد. قانون کش ها و لایه بندی آنها به این شکل است که در صورتیکه داده ها در سطح اول پیدا نشدند در لایه دوم و به ترتیب در لایه بعدی سیستم به دنبال داده ها می گردد و بدین ترتیب اگر داده ای در لایه اول L1 Cache پیدا نشد بلافاصله سیستم شروع به بررسی محتویات L2 Cache می کند تا داده را پیدا کند. کش لایه دوم به دلیل اینکه مابین L3 Cache و L1 Cache قرار دارد یک نوع رابط بین کارایی این دو Cache نیز به حساب می آید . کش لایه دو با استفاده از DRAM یا Dynamic Random Access Memory پیاده سازی می شود. بیشتر اوقات L2 Cache بر روی مادربورد لحیم می شود و بسیار به چیپ CPU نزدیک است ( ولی روی چیپ قرار نمی گیرد ) اما برخی از پردازنده ها مانند Pentium Pro از این استاندارد تبعیت نکرده اند. البته امروزه تقریبا هیچ سازنده ای از این قانون تبعیت نمی کند و شما می توانید کش لایه دو را در خود CPU مشاهده کنید.

L3 Cache یا کش لایه سوم CPU چیست ؟

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

CPU Caches

CPU Caches

 

ارسال دیدگاه

Your email address will not be published. Required fields are marked *

پنج × چهار =

*