بررسی حافظه cpu cache و لایه های مختلف آن
با گذشت زمان و در طی سالهای اخیر پردازنده ها به شکل قابل توجهی تغییر کرده و بسیار پیشرفت داشته اند. نسبت به سالهای گذشته ترانزیستورها به طور چشمگیری کوچک و کوچکتر شده و قدرتمندتر عمل میکنند. در بحث پردازندهها علاوه بر ترانزیستور و فرکانس، حافظه cpu cache نیز بسیار مهم بوده و نقش قابل ملاحظه ای را در عملکرد پردازنده ایفا میکند. در واقع این حافظه تاثیر قابل توجهی در سرعت و در نتیجه عملکرد پردازندههای کامپیوتری دارد. ما در این مقاله به معرفی حافظه cpu cache و بررسی سطوح و لایه های مختلف این حافظه میپردازیم.
حافظه cpu cache چیست؟
نوعی حافظه سخت افزاری و بسیار کوچک در پردازنده است. این حافظه اطلاعات موجود در RAM را به شکل موقت نگهداری میکند. حافظه cache سریع ترین حافظه موجود در کامپیوتر بوده و در نزدیکترین مکان به پردازنده یا همان cpu قرار دارد. این حافظه در مقایسه با RAM که یک حافظه پویا به شمار می رود، یک حافظه استاتیک است. حافظه استاتیک بر خلاف حافظه پویا می تواند اطلاعات را بدون نیاز به تازه سازی های مداوم در خود نگهداری کند.
این حافظه یک واسطه بین پردازنده یا همان cpu و RAM محسوب میشود. در واقع دادههایی که باید توسط cpu پردازش شوند و در صف پردازش قرار دارند، برای پردازش سریع تر از حافظه RAM به این حافظه منتقل میشوند. با منتقل شدن اطلاعات به این حافظه دسترسی cpu به اطلاعات با سرعت بسیار بیشتری انجام میشود. این حافظه، یک حافظه ناپایا است و اطلاعات در آن به شکل موقت ذخیره و نگهداری میشوند. زیرا با قطع برق اطلاعات موجود در حافظه پاک میشوند.
انواع سطوح حافظه
حافظه cpu cache به سه سطح اصلی L1 و L2 و L3 تقسیم بندی میشود و سطوح آن را میتوان به یک پارکینگ طبقاتی تشبیه کرد، در ادامه به معرفی و بررسی هر کدام یک از این سطوح میپردازیم.
حافظه پنهان سطح اول (L1)
سطح اول حافظه cpu cache یا همان کش L1 سریع ترین حافظه میباشد. این لایه اطلاعاتی که پردازنده در حین تکمیل یک کار خاص نیاز دارد را نگهداری میکند. ظرفیت کش L1 به نوع پردازنده بستگی دارد. در پیشرفته ترین پردازندههای امروزی ظرفیت سطح اول حافظه به 2 – 1 مگابایت میرسد. کش L1 به تنهایی به دو بخش کش پنهان و کش داده تقسیم بندی میشود. در کش پنهان اطلاعات مربوط به عملیات پردازندهها نگهداری میشود. اما کش داده، داده هایی که بر روی آنها عملیات انجام می شود را نگهداری میکند. لایه اول آن کمترین تاخیر را نسبت به سایر لایه های حافظه cpu cache دارد.
حافظه پنهان سطح دوم (L2)
کش L2 نسبت به کش L1 کندتر بوده و از سرعت کمتری برخوردار است. اما ظرفیت بیشتری نسبت به سطح اول حافظه cpu cache دارد. بسته به نوع پردازنده ظرفیت لایه دوم آن معمولا بین 256 کیلوبایت تا 8 مگابایت قرار دارد. با وجود اینکه سرعت کش L2 نسبت به کش L1 کمتر است اما بسیار سریع تر از حافظه RAM عمل میکند. برای مثال اگر سرعت لایه اول حافظه cpu cache صد برابر بیشتر از لایه دوم باشد ، سرعت لایه دوم 25 برابر بیشتر از سرعت حافظه RAM است.
حافظه پنهان سطح سوم (L3)
آخرین سطح این حافظه، کش L3 است. ظرفیت این لایه معمولا تا 32 و گاها حتی به 64 مگابایت نیز می رسد. سطح سوم حافظه cpu cache یک نوع حافظه عمومی به شمار میرود که کل چیپست میتواند از آن استفاده کند. این لایه بزرگترین کش درون پردازنده محسوب میشود اما کمترین سرعت و بیشترین تاخیر را نسبت به سایر لایه ها دارد. دادهها هنگام حرکت بین سطوح مختلف حافظه، ابتدا از حافظه RAM به کش L1 و سپس کش L2 و در نهایت کش L3 منتقل میشوند.
پردازنده هنگام عملیات برای دسترسی به داده ابتدا کش L1 را جستجو میکند. اگر نتواند آنها را پیدا کند همین مراحل را برای کش L2 و L3 نیز انجام میدهد. اگر پردازنده دادههای مورد نیاز خود را در لایههای مختلف حافظه cpu cache پیدا نکند ، به سراغ حافظه RAM رفته و از آن استفاده میکند.همان طور که گفتیم این حافظه یک واسطه بین پردازنده و حافظه اصلی است. در واقع مهم ترین هدف این حافظه سرعت بخشیدن به فرایند تبادل دادهها میباشد.
نحوه ی کارکرد
به طور کلی تمامی نرم افزارهایی که در سیستم شما اجرا میشوند نیاز به پردازش دارند. در واقع دیتاهای نرم افزار بر روی هارد قرار دارند و بعد از اجرا برای RAM ارسال میشوند و RAM اطلاعات مورد نظر را برای پردازش به cpu منتقل میکند. سپس cpu دیتا ها را پس از پردازش پردازش به حافظه اصلی سیستم باز میگرداند. هر کدام از این مسیرها دارای تاخیر کمی هستند. اما حافظه cpu cache این تاخیر را از بین میبرد. این حافظه اطلاعات و دادههای مورد نیاز cpu را در لحظه در اختیار cpu قرار میدهد. حافظه کش پنهان داخل خود cpu قرار دارد به همین دلیل مسیر بسیار کوتاه تر میشود و سرعت پردازش به خصوص در پردازنده های چند هسته ای به شکل قابل توجهی افزایش مییابد.
سیستم کشینگ یکی از مهم ترین اتفاقات تاثیر گذار در سرعت و عملکرد پردازندههای کامپیوتری به شمار میرود. حافظه cpu cache با وجود اینکه از ظرفیت کمی برخوردار است اما تفاوت سرعت بسیار چشم گیری در پردازندهها ایجاد می کند. در واقع حافظه cpu cache نقش قابل توجهی در در عملکرد پردازندهها دارد. امروزه با پیشرفت تکنولوژی ، عملکرد پردازنده ها و سیستم حافظه پنهان روز به روز بهتر و سریع تر میشود و شاهد رشد و پیشرفت روز افزون آنها هستیم.
جهت کسب اطلاعات بیشتر به وبلاگ پویان آیتی مراجعه نمایید و از خواندن مقالات لذت ببرید.
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.