آموزشآموزش کامپیوتر و لپ تاپآموزش ویندوزاخبار

کش پردازنده یا CPU Cache چیست و چگونه کار می کند؟ L1 ، L2 و L3 چیست؟

پردازنده یا CPU ها در چند سال اخیر پیشرفت بزرگی در کامپیوتر ها و قطعات سخت افزاری داشته اند. در هر سال ما شاهد پیشرفت تکنولوژی هستیم ، برای مثال ترانزیستور ها هر سال نسبت به قبل کوچک‌تر می شوند.

هنگامی که حرف از پردازنده ها می شود ، تنها قطعات آن که ترانزیستور و یا فرکانس ها هستند نیست ، بلکه یک کش پردازنده هم نیز وجود دارد! احتمالا زمانی که حرف از حافظه های کش می شود از CPU (واحد پردازش مرکزی) ها هم نیز ذکر می شود. بطور کلی ، ما در این مقاله قصد داریم به کش پردازنده بپردازیم و به تمامی مباحث مربوط به CPU Cache اشاره کنیم و بگوییم اهمیت آن ها چقدر هستند؟ با ما همراه باشید.

کش پردازنده یا CPU Cache چیست؟

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

بعد از این ، حافظه ی Random Access Memory یا رم را داریم. این حافظه بسیار سریع تر نسبت به حافظه ی هایی که برای نگهداری اطلاعات و داده استفاده می شود است.

و در نهایت آخرین حافظه را می توان به پردازنده یا CPU نیز اشاره کرد. حالا نکته ای که باید بدانید این است که پردازنده نیز خودش دارای حافظه هایی است که به آن ها کش پردازنده یا CPU Cache می گویند. با این توضیحات حالا شما باید بصورت کامل متوجه شده باشید که کش پردازنده چیست.

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

کش یک حافظه ی استاتیک RAM می باشد که بصورت SRAM شناخته می شود اما RAM یک حافظه ی پویا یا داینامیک است که در بالا توضیح کوتاهی داده شد. حافظه ی استاتیک نوعی از حافظه ها هستند که می توانند داده ها را بدون نیاز به رفرش شدن نگهداری کنند. برخلاف DRAM حافظه ی SRAM برای استفاده از کش ایده آل تر به نظر می رسد.

همچنین بخوانید  حل مشکل Application Load Error 5:0000065434 در بازی های استیم

کش پردازنده چگونه عمل می کند؟

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

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

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

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

سطح های مختلف سی پی یو : L1 ، L2 و L3

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

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

با توجه به مقدار حافظه ، کش L1 معمولا تا ۲۵۶KB می رود. همچنین برخی از سی پی یو های قدرتمند نزدیک به ۱MB می رسند. برخی از چیپست های سرور ها (مانند سی پی یو های Intel’s top-end Xeon) کش L1 آن ها تا ۱-۲MB می رسد. البته این موضوع کاملا طبیعی است چرا که سرور ها نیازمند پردازش های سنگینی هستند و باید بدون سختی انجام شوند.

همچنین بخوانید  توییتر برای همیشه در نسخه ی دسکتاپ برای کاربران مک منسوخ شد!

حافظه کش L1 معمولا به ۲ راه تقسیم می شود که یکی برای کش دستورالعمل (instruction cache) و دیگری کش اطلاعات (data cache) می باشد. کش دستورالعمل اطلاعاتی همراه خود دارد که CPU باید آن ها را بصورت دستورالعمل انجام دهد ، درحالیکه کش اطلاعات ، داده و اطلاعات را نگهداری می کند و عملیاتی که باید انجام شود را نگه می دارد.

کش پردازنده و سطح های آن

L2 یا (Level 2) سرعت آن نسبت به L1 کمتر است اما از لحاظ اندازه بزرگتر است ، بطوری که می توان از ۲۵۶KB تا ۸MB را در نظر گرفت با اینکه جدید تر هستند! حافظه L2 دارای اطلاعاتی است که احتمالا بعدا توسط CPU قابل دسترسی خواهد بود. در بیشتر سی پی یو های جدید کش های L1 و L2 مخازنی هستند که در داخل خود سی پی یو جای داده می شوند که با هر هسته کش خود را در خود جای می دهد.

L3 یا (Level 3) بزرگترین واحد حافظه کش است و همچنین آهسته‌ترین حافظه! بازه ی این حافظه از ۴MB تا ۵۰MB می باشد. سی پی یو های جدید دارای فضای اختصاصی ای هستند که مختص حافظه ی کش L3 ایجاد شده اند و تقریبا می توان گفت فضای بزرگی را اشغال می کنند.

کش Hit یا Miss و Latency

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

اگر سی پی یو نتواند داده را پیدا کند ، تلاش بعدی این است که داده را توسط حافظه ی اصلی (هارد) پیدا کند که به چنین وضعیتی Cache Miss می گویند.


بخوانید : آموزش ساخت شماره مجازی با TextNow


حالا با توجه به توضیحاتی که در بالا بصورت کامل داده شد متوجه شدیم که کار کش پردازنده برای افزایش سرعت اطلاعاتی است که بین حافظه و سی پی یو رد و بدل می شود. زمانی که برای دسترسی به داده ها از حافظه ی اصلی سپری می شود را Latency یا تاخیر می گویند. حافظه ی L1 دارای کمترین latency است که سریع ترین نوع و نزدیک ترین به هسته اصلی (CPU) است. حافظه ی L3 نیز بیشترین تاخیر را دارد. latency زمانی بوجود می آید که Cache Miss بیشتر شود به همین دلیل است که CPU باید داده ها را از حافظه ی اصلی دریافت کند.

همچنین بخوانید  نحوه تنظیم سطح پیش فرض زوم (بزرگنمایی) مرورگر سافاری در مک

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

علاوه بر این ، وجود حافظه ی L2 و L3 می تواند تاثیر منفی بر روی latency داشته باشد. با این حال ، پیشرفت در فرآیندهای تولیدی مربوط به ترانزیستورهای CPU امکان‌پذیر شده است که میلیاردها ترانزیستور را در یک فضای کوچکتر از قبل مقایسه کند.

آینده ای روشن برای کش پردازنده

کش یا حافظه موقت همیشه در حال توسعه و طراحی است ، به خصوص به این دلیل که حافظه ارزان‌تر ، سریع تر و متراکم تر می شود ، Intel و AMD سهم عادلانه خود را از آزمایش با طرح های کش داشته اند ، زیرا اینتل حتی با یک حافظه L4 آزمایش کرده تا بازار CPU را سریعتر از همیشه پیش ببرد. علاوه بر این ، عوامل و موارد زیادی انجام شده است تا بتوانند مشکلات سخت افزاری کامپیوتری را حل کنند. کاهش latency حافظه می تواند بزرگ‌ترین قدم در تمامی این عملیات باشد ، به همین دلیل این صنعت درحال تلاش است تا روز به روز پیشرفتی در این حوزه ایجاد کند. ما می توانیم آینده ای روشن برای سخت‌افزار کامپیوتری داشته باشیم.

مهدی

از اینکه با ما همراه هستید ، صمیمانه متشکریم :)

نوشته های مشابه

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

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

دکمه بازگشت به بالا